Support setting configuration using the PYTEST_ADDOPTS environment variable.

--HG--
branch : env-addopts
This commit is contained in:
Dave Hunt 2015-01-23 20:09:42 +00:00
parent 394367e1d2
commit 7325a5fe2e
2 changed files with 9 additions and 0 deletions

View File

@ -705,6 +705,8 @@ class Config(object):
def _preparse(self, args, addopts=True):
self._initini(args)
if addopts:
env_addopts = os.environ.get('PYTEST_ADDOPTS', '')
args[:] = env_addopts.replace('"', '').split() + args
args[:] = self.getini("addopts") + args
self._checkversion()
self.pluginmanager.consider_preparse(args)

View File

@ -1,3 +1,5 @@
import os
import py, pytest
from _pytest.config import getcfg
@ -19,11 +21,16 @@ class TestParseIni:
getcfg([''], ['setup.cfg']) #happens on py.test ""
def test_append_parse_args(self, testdir, tmpdir):
os.environ['PYTEST_ADDOPTS'] = '--color no -rs --tb="short"'
tmpdir.join("setup.cfg").write(py.code.Source("""
[pytest]
addopts = --verbose
"""))
config = testdir.parseconfig(tmpdir)
del os.environ['PYTEST_ADDOPTS']
assert config.option.color == 'no'
assert config.option.reportchars == 's'
assert config.option.tbstyle == 'short'
assert config.option.verbose
#config = testdir.Config()
#args = [tmpdir,]