summaryrefslogtreecommitdiff
path: root/tests/test_config.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_config.py')
-rw-r--r--tests/test_config.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/test_config.py b/tests/test_config.py
index 758db48..122cbc5 100644
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -642,6 +642,43 @@ class TestConfigTestEnv:
assert envconfig.setenv['PYTHONPATH'] == 'something'
assert envconfig.setenv['ANOTHER_VAL'] == 'else'
+ @pytest.mark.parametrize("plat", ["win32", "linux2"])
+ def test_passenv(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']
+ if plat == "win32":
+ assert "PATHEXT" in envconfig.passenv
+ assert "SYSTEMROOT" in envconfig.passenv
+ assert "PATH" in envconfig.passenv
+ assert "A123A" in envconfig.passenv
+ assert "A123B" in envconfig.passenv
+
+ def test_passenv_with_factor(self, tmpdir, newconfig, monkeypatch):
+ monkeypatch.setenv("A123A", "a")
+ monkeypatch.setenv("A123B", "b")
+ monkeypatch.setenv("BX23", "0")
+ config = newconfig("""
+ [tox]
+ envlist = {x1,x2}
+ [testenv]
+ passenv =
+ x1: A123A
+ x2: A123B
+ """)
+ assert len(config.envconfigs) == 2
+ assert "A123A" in config.envconfigs["x1"].passenv
+ assert "A123B" not in config.envconfigs["x1"].passenv
+ assert "A123B" in config.envconfigs["x2"].passenv
+ assert "A123A" not in config.envconfigs["x2"].passenv
+
def test_changedir_override(self, tmpdir, newconfig):
config = newconfig("""
[testenv]