summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Mazzucco <pietranera@gmail.com>2015-06-18 21:15:04 +0100
committerStefano Mazzucco <pietranera@gmail.com>2015-06-18 21:15:04 +0100
commit509570015064580054a5ea0c3df3d07906433305 (patch)
tree598f157f492585a0f09c61b47f6dc4d86ab0fd8a
parent8c7dbd8d2e1f03b977b0a716b0936fff5f08e37b (diff)
parente137fb2b2336f6c9f20e4789527b82cd89e502b2 (diff)
downloadtox-509570015064580054a5ea0c3df3d07906433305.tar.gz
merge with default
-rw-r--r--tests/test_config.py34
-rw-r--r--tox/config.py5
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