This is the correct way to retrieve it:
os.environ.get("WEB2PY_USE_DB_TESTING",None):
I think that the problem is that
os.environ["WEB2PY_USE_DB_TESTING"]= "1
is not setting it. Not sure why. Perhaps it is setting it in the wrong
shell.
Did you try:
export WEB2PY_USE_DB_TESTING=1
On Monday, 17 December 2012 11:33:22 UTC-6, Kostas M wrote:
>
> I am trying to set up an environment variable (lets say
> "WEB2PY_USE_DB_TESTING"), so that in my db.py:
>
> if not os.environ.get("WEB2PY_USE_DB_TESTING",None):
> db = DAL('sqlite://storage.sqlite')
> else:
> db = DAL('sqlite://../fts/testdb.sqlite')
>
> (as this resource points out:
> http://ncdegroot.blogspot.ca/2011/09/web2py-automate-unittesting-doctesting.html
> )
>
> I want to set this variable by script, only when I run my functional tests.
>
> So I have tried up to now:
>
>
> 1. class FunctionalTest(unittest.TestCase):
>
> @classmethod
> def setUpClass(self):
> os.environ["WEB2PY_USE_DB_TESTING"]= "1"
> self.web2py = start_web2py_server()
> self.browser = webdriver.Firefox()
> self.browser.implicitly_wait(5)
> 2. running web2py with --config=MYCONFIG, where MYCONFIG.py has:
>
> import os
> os.environ["WEB2PY_USE_DB_TESTING"]= "1"
>
>
>
> Both methods fail to transfer the environment variable to the shell that
> web2py runs... Any suggestions?
>
--