Skip to content

Commit aeeef1a

Browse files
committed
Look at os.environ before early_config
This prefers the current current environment before the config from (e.g.) setup.cfg.
1 parent 1f279de commit aeeef1a

File tree

3 files changed

+11
-10
lines changed

3 files changed

+11
-10
lines changed

pytest_django/plugin.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -172,13 +172,13 @@ def pytest_load_initial_conftests(early_config, parser, args):
172172

173173
# Configure DJANGO_SETTINGS_MODULE
174174
ds = (options.ds or
175-
early_config.getini(SETTINGS_MODULE_ENV) or
176-
os.environ.get(SETTINGS_MODULE_ENV))
175+
os.environ.get(SETTINGS_MODULE_ENV) or
176+
early_config.getini(SETTINGS_MODULE_ENV))
177177

178178
# Configure DJANGO_CONFIGURATION
179179
dc = (options.dc or
180-
early_config.getini(CONFIGURATION_ENV) or
181-
os.environ.get(CONFIGURATION_ENV))
180+
os.environ.get(CONFIGURATION_ENV) or
181+
early_config.getini(CONFIGURATION_ENV))
182182

183183
if ds:
184184
os.environ[SETTINGS_MODULE_ENV] = ds

tests/test_django_configurations.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,13 @@ def test_settings():
5050

5151

5252
def test_dc_ini(testdir, monkeypatch):
53-
monkeypatch.setenv('DJANGO_SETTINGS_MODULE', 'DO_NOT_USE')
54-
monkeypatch.setenv('DJANGO_CONFIGURATION', 'DO_NOT_USE')
53+
monkeypatch.setenv('DJANGO_SETTINGS_MODULE', 'tpkg.settings_env')
54+
monkeypatch.setenv('DJANGO_CONFIGURATION', 'MySettings')
5555

5656
testdir.makeini("""
5757
[pytest]
58-
DJANGO_SETTINGS_MODULE = tpkg.settings_ini
59-
DJANGO_CONFIGURATION = MySettings
58+
DJANGO_SETTINGS_MODULE = DO_NOT_USE_ini
59+
DJANGO_CONFIGURATION = DO_NOT_USE_ini
6060
""")
6161
pkg = testdir.mkpydir('tpkg')
6262
settings = pkg.join('settings_ini.py')

tests/test_django_settings_module.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,11 @@ def test_settings():
3636

3737

3838
def test_ds_ini(testdir, monkeypatch):
39-
monkeypatch.setenv('DJANGO_SETTINGS_MODULE', 'DO_NOT_USE')
39+
"DSM env should override ini."
40+
monkeypatch.setenv('DJANGO_SETTINGS_MODULE', 'tpkg.settings_ini')
4041
testdir.makeini("""\
4142
[pytest]
42-
DJANGO_SETTINGS_MODULE = tpkg.settings_ini
43+
DJANGO_SETTINGS_MODULE = DO_NOT_USE_ini
4344
""")
4445
pkg = testdir.mkpydir('tpkg')
4546
settings = pkg.join('settings_ini.py')

0 commit comments

Comments
 (0)