Skip to content

Commit

Permalink
Look at os.environ before early_config
Browse files Browse the repository at this point in the history
This prefers the current current environment before the config from
(e.g.) setup.cfg.
  • Loading branch information
blueyed committed Apr 23, 2015
1 parent 1f279de commit aeeef1a
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 10 deletions.
8 changes: 4 additions & 4 deletions pytest_django/plugin.py
Expand Up @@ -172,13 +172,13 @@ def pytest_load_initial_conftests(early_config, parser, args):

# Configure DJANGO_SETTINGS_MODULE
ds = (options.ds or
early_config.getini(SETTINGS_MODULE_ENV) or
os.environ.get(SETTINGS_MODULE_ENV))
os.environ.get(SETTINGS_MODULE_ENV) or
early_config.getini(SETTINGS_MODULE_ENV))

# Configure DJANGO_CONFIGURATION
dc = (options.dc or
early_config.getini(CONFIGURATION_ENV) or
os.environ.get(CONFIGURATION_ENV))
os.environ.get(CONFIGURATION_ENV) or
early_config.getini(CONFIGURATION_ENV))

if ds:
os.environ[SETTINGS_MODULE_ENV] = ds
Expand Down
8 changes: 4 additions & 4 deletions tests/test_django_configurations.py
Expand Up @@ -50,13 +50,13 @@ def test_settings():


def test_dc_ini(testdir, monkeypatch):
monkeypatch.setenv('DJANGO_SETTINGS_MODULE', 'DO_NOT_USE')
monkeypatch.setenv('DJANGO_CONFIGURATION', 'DO_NOT_USE')
monkeypatch.setenv('DJANGO_SETTINGS_MODULE', 'tpkg.settings_env')
monkeypatch.setenv('DJANGO_CONFIGURATION', 'MySettings')

testdir.makeini("""
[pytest]
DJANGO_SETTINGS_MODULE = tpkg.settings_ini
DJANGO_CONFIGURATION = MySettings
DJANGO_SETTINGS_MODULE = DO_NOT_USE_ini
DJANGO_CONFIGURATION = DO_NOT_USE_ini
""")
pkg = testdir.mkpydir('tpkg')
settings = pkg.join('settings_ini.py')
Expand Down
5 changes: 3 additions & 2 deletions tests/test_django_settings_module.py
Expand Up @@ -36,10 +36,11 @@ def test_settings():


def test_ds_ini(testdir, monkeypatch):
monkeypatch.setenv('DJANGO_SETTINGS_MODULE', 'DO_NOT_USE')
"DSM env should override ini."
monkeypatch.setenv('DJANGO_SETTINGS_MODULE', 'tpkg.settings_ini')
testdir.makeini("""\
[pytest]
DJANGO_SETTINGS_MODULE = tpkg.settings_ini
DJANGO_SETTINGS_MODULE = DO_NOT_USE_ini
""")
pkg = testdir.mkpydir('tpkg')
settings = pkg.join('settings_ini.py')
Expand Down

0 comments on commit aeeef1a

Please sign in to comment.