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? > --