summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorholger krekel <holger@merlinux.eu>2015-10-29 17:24:21 +0100
committerholger krekel <holger@merlinux.eu>2015-10-29 17:24:21 +0100
commitb26e9e56d8a3f5ec03507fa1de99a71544975741 (patch)
tree9053978eeb3de9fd5bf6c0524640c6a1016b61ff
parenta2a7dc740529b250384753b27b4b286eb51a4850 (diff)
parent238dd2fcf52d87194815a34f14671fa0d26827c6 (diff)
downloadtox-b26e9e56d8a3f5ec03507fa1de99a71544975741.tar.gz
Merged in olliewalsh/tox (pull request #167)
Reorder the processing of testenv options.
-rw-r--r--tests/test_config.py12
-rw-r--r--tox/config.py27
2 files changed, 25 insertions, 14 deletions
diff --git a/tests/test_config.py b/tests/test_config.py
index 4bdba50..8b3fa1b 100644
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -927,6 +927,18 @@ class TestConfigTestEnv:
assert argv[7][0] == config.homedir.join(".tox", "distshare")
assert argv[8][0] == conf.envlogdir
+ def test_substitution_notfound_issue246(tmpdir, newconfig):
+ config = newconfig("""
+ [testenv:py27]
+ setenv =
+ FOO={envbindir}
+ BAR={envsitepackagesdir}
+ """)
+ conf = config.envconfigs['py27']
+ env = conf.setenv
+ assert 'FOO' in env
+ assert 'BAR' in env
+
def test_substitution_positional(self, newconfig):
inisource = """
[testenv:py27]
diff --git a/tox/config.py b/tox/config.py
index d68d276..a4334d6 100644
--- a/tox/config.py
+++ b/tox/config.py
@@ -320,6 +320,18 @@ def tox_addoption(parser):
help="additional arguments available to command positional substitution")
# add various core venv interpreter attributes
+ def basepython_default(testenv_config, value):
+ if value is None:
+ for f in testenv_config.factors:
+ if f in default_factors:
+ return default_factors[f]
+ return sys.executable
+ return str(value)
+
+ parser.add_testenv_attribute(
+ name="basepython", type="string", default=None, postprocess=basepython_default,
+ help="executable name or path of interpreter used to create a "
+ "virtual test environment.")
parser.add_testenv_attribute(
name="envdir", type="path", default="{toxworkdir}/{envname}",
@@ -453,19 +465,6 @@ def tox_addoption(parser):
name="usedevelop", type="bool", postprocess=develop, default=False,
help="install package in develop/editable mode")
- def basepython_default(testenv_config, value):
- if value is None:
- for f in testenv_config.factors:
- if f in default_factors:
- return default_factors[f]
- return sys.executable
- return str(value)
-
- parser.add_testenv_attribute(
- name="basepython", type="string", default=None, postprocess=basepython_default,
- help="executable name or path of interpreter used to create a "
- "virtual test environment.")
-
parser.add_testenv_attribute_obj(InstallcmdOption())
parser.add_testenv_attribute_obj(DepOption())
@@ -709,7 +708,7 @@ class parseini:
if atype == "path":
reader.addsubstitutions(**{env_attr.name: res})
- if env_attr.name == "install_command":
+ if env_attr.name == "envdir":
reader.addsubstitutions(envbindir=vc.envbindir, envpython=vc.envpython,
envsitepackagesdir=vc.envsitepackagesdir)
return vc