Merge pull request #2824 from dirk-thomas/pytest_addopts_before_initini

get PYTEST_ADDOPTS before calling _initini
This commit is contained in:
Bruno Oliveira 2017-10-18 18:35:12 -02:00 committed by GitHub
commit 537fc3c315
3 changed files with 11 additions and 1 deletions

View File

@ -1055,9 +1055,10 @@ class Config(object):
"(are you using python -O?)\n")
def _preparse(self, args, addopts=True):
self._initini(args)
if addopts:
args[:] = shlex.split(os.environ.get('PYTEST_ADDOPTS', '')) + args
self._initini(args)
if addopts:
args[:] = self.getini("addopts") + args
self._checkversion()
self._consider_importhook(args)

1
changelog/2824.feature Normal file
View File

@ -0,0 +1 @@
Allow setting ``file_or_dir``, ``-c``, and ``-o`` in PYTEST_ADDOPTS.

View File

@ -843,3 +843,11 @@ class TestOverrideIniArgs(object):
rootdir, inifile, inicfg = determine_setup(None, ['a/exist'])
assert rootdir == tmpdir
assert inifile is None
def test_addopts_before_initini(self, testdir, tmpdir, monkeypatch):
cache_dir = '.custom_cache'
monkeypatch.setenv('PYTEST_ADDOPTS', '-o cache_dir=%s' % cache_dir)
from _pytest.config import get_config
config = get_config()
config._preparse([], addopts=True)
assert config._override_ini == [['cache_dir=%s' % cache_dir]]