diff options
author | Stefano Mazzucco <pietranera@gmail.com> | 2015-06-18 21:15:04 +0100 |
---|---|---|
committer | Stefano Mazzucco <pietranera@gmail.com> | 2015-06-18 21:15:04 +0100 |
commit | 509570015064580054a5ea0c3df3d07906433305 (patch) | |
tree | 598f157f492585a0f09c61b47f6dc4d86ab0fd8a | |
parent | 8c7dbd8d2e1f03b977b0a716b0936fff5f08e37b (diff) | |
parent | e137fb2b2336f6c9f20e4789527b82cd89e502b2 (diff) | |
download | tox-509570015064580054a5ea0c3df3d07906433305.tar.gz |
merge with default
-rw-r--r-- | tests/test_config.py | 34 | ||||
-rw-r--r-- | tox/config.py | 5 |
2 files changed, 37 insertions, 2 deletions
diff --git a/tests/test_config.py b/tests/test_config.py index 4522f87..f85b563 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -696,14 +696,44 @@ class TestConfigTestEnv: assert envconfig.setenv['ANOTHER_VAL'] == 'else' @pytest.mark.parametrize("plat", ["win32", "linux2"]) - def test_passenv(self, tmpdir, newconfig, monkeypatch, plat): + def test_passenv_as_multiline_list(self, tmpdir, newconfig, monkeypatch, plat): monkeypatch.setattr(sys, "platform", plat) monkeypatch.setenv("A123A", "a") monkeypatch.setenv("A123B", "b") monkeypatch.setenv("BX23", "0") config = newconfig(""" [testenv] - passenv = A123* B?23 + passenv = + A123* + # isolated comment + B?23 + """) + assert len(config.envconfigs) == 1 + envconfig = config.envconfigs['python'] + if plat == "win32": + assert "PATHEXT" in envconfig.passenv + assert "SYSTEMDRIVE" in envconfig.passenv + assert "SYSTEMROOT" in envconfig.passenv + assert "TEMP" in envconfig.passenv + assert "TMP" in envconfig.passenv + else: + assert "TMPDIR" in envconfig.passenv + assert "PATH" in envconfig.passenv + assert "PIP_INDEX_URL" in envconfig.passenv + assert "LANG" in envconfig.passenv + assert "A123A" in envconfig.passenv + assert "A123B" in envconfig.passenv + + @pytest.mark.parametrize("plat", ["win32", "linux2"]) + def test_passenv_as_space_separated_list(self, tmpdir, newconfig, monkeypatch, plat): + monkeypatch.setattr(sys, "platform", plat) + monkeypatch.setenv("A123A", "a") + monkeypatch.setenv("A123B", "b") + monkeypatch.setenv("BX23", "0") + config = newconfig(""" + [testenv] + passenv = + A123* B?23 """) assert len(config.envconfigs) == 1 envconfig = config.envconfigs['python'] diff --git a/tox/config.py b/tox/config.py index 5345ce3..5dba0bc 100644 --- a/tox/config.py +++ b/tox/config.py @@ -381,6 +381,11 @@ def tox_addoption(parser): help="list of X=Y lines with environment variable settings") def passenv(testenv_config, value): + if len(value) == 1 and "\n" in value[0]: + # If we have a list of 1 element that contains new lines, + # passenv has been specified as a multi line list. + value = value[0].split("\n") + passenv = set(["PATH", "PIP_INDEX_URL", "LANG"]) # we ensure that tmp directory settings are passed on |