** Description changed:
[Environment]
Trusty 14.04.2
python-tox | 1.6.0-1 | trusty/universe | all
- [Reproduction]
+ [Impact]
- Setting an environment variable with:
+ If a user tries to set an environment variable using setenv
+ with a substitution + default value, tox will fail with the exception:
+
+ tox.ConfigError: ConfigError: substitution env:'JUJU_TEST_ENV:"test"':
+ unkown environment variable 'JUJU_TEST_ENV:"test"'
+
+ [Test Case]
+
+ - Write the following example configuration, on a file called tox.ini
+
+ [tox]
+ minversion = 1.6
+ envlist = py27,py33,py34,pep8
[testenv]
usedevelop=True
deps = -r{toxinidir}/test-requirements.txt
setenv =
- JUJU_TEST_ENV = {env:JUJU_TEST_ENV:"test"}
+ JUJU_TEST_ENV = {env:JUJU_TEST_ENV:"test"}
+ commands=
+ nosetests -s -v
- Running the specifics steps:
+
+ - Run the following command
$JUJU_TEST_ENV="amazon" tox -e py27
+
+ The previous command will generate the following traceback:
+
Traceback (most recent call last):
- File "/usr/bin/tox", line 9, in <module>
- load_entry_point('tox==1.6.0', 'console_scripts', 'tox')()
- File "/usr/lib/python2.7/dist-packages/tox/_cmdline.py", line 25, in main
- config = parseconfig(args, 'tox')
- File "/usr/lib/python2.7/dist-packages/tox/_config.py", line 44, in
parseconfig
- parseini(config, inipath)
- File "/usr/lib/python2.7/dist-packages/tox/_config.py", line 236, in
__init__
- config)
- File "/usr/lib/python2.7/dist-packages/tox/_config.py", line 292, in
_makeenvconfig
- vc.setenv = reader.getdict(section, 'setenv')
- File "/usr/lib/python2.7/dist-packages/tox/_config.py", line 419, in getdict
- s = self.getdefault(section, name, None)
- File "/usr/lib/python2.7/dist-packages/tox/_config.py", line 511, in
getdefault
- x = self._replace(x)
- File "/usr/lib/python2.7/dist-packages/tox/_config.py", line 618, in
_replace
- return rexpattern.sub(replace_func, x)
- File "/usr/lib/python2.7/dist-packages/tox/_config.py", line 609, in
_replace_match_no_quote
- return self._replace_match(match, quote=False)
- File "/usr/lib/python2.7/dist-packages/tox/_config.py", line 604, in
_replace_match
- return handler(match, quote)
- File "/usr/lib/python2.7/dist-packages/tox/_config.py", line 541, in
_replace_env
- (envkey, envkey))
+ File "/usr/bin/tox", line 9, in <module>
+ load_entry_point('tox==1.6.0', 'console_scripts', 'tox')()
+ File "/usr/lib/python2.7/dist-packages/tox/_cmdline.py", line 25, in main
+ config = parseconfig(args, 'tox')
+ File "/usr/lib/python2.7/dist-packages/tox/_config.py", line 44, in
parseconfig
+ parseini(config, inipath)
+ File "/usr/lib/python2.7/dist-packages/tox/_config.py", line 236, in
__init__
+ config)
+ File "/usr/lib/python2.7/dist-packages/tox/_config.py", line 292, in
_makeenvconfig
+ vc.setenv = reader.getdict(section, 'setenv')
+ File "/usr/lib/python2.7/dist-packages/tox/_config.py", line 419, in getdict
+ s = self.getdefault(section, name, None)
+ File "/usr/lib/python2.7/dist-packages/tox/_config.py", line 511, in
getdefault
+ x = self._replace(x)
+ File "/usr/lib/python2.7/dist-packages/tox/_config.py", line 618, in
_replace
+ return rexpattern.sub(replace_func, x)
+ File "/usr/lib/python2.7/dist-packages/tox/_config.py", line 609, in
_replace_match_no_quote
+ return self._replace_match(match, quote=False)
+ File "/usr/lib/python2.7/dist-packages/tox/_config.py", line 604, in
_replace_match
+ return handler(match, quote)
+ File "/usr/lib/python2.7/dist-packages/tox/_config.py", line 541, in
_replace_env
+ (envkey, envkey))
tox.ConfigError: ConfigError: substitution env:'JUJU_TEST_ENV:"test"': unkown
environment variable 'JUJU_TEST_ENV:"test"'
+
+ [Expected Results]
+
+ - No traceback is generated and the target variable is correctly
+ replaced.
+
+ [Regression Potential]
+
+ - None that i am aware of.
+
+ [Other information]
On the vivid version this seems to works out of the box thanks to this
patch: https://bitbucket.org/hpk42/tox/pull-request/86/support-optional-
env-variable-substitution/diff
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1456695
Title:
tox.ConfigError: ConfigError: substitution env error. Support optional
ENV variable substitution in tox.ini
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/tox/+bug/1456695/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs