summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/test_config.py13
-rw-r--r--tests/test_quickstart.py23
-rw-r--r--tox/_config.py2
3 files changed, 29 insertions, 9 deletions
diff --git a/tests/test_config.py b/tests/test_config.py
index f2ecf8c..f957771 100644
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -972,6 +972,19 @@ class TestConfigTestEnv:
configs = newconfig([], inisource).envconfigs
assert set(configs.keys()) == set(['py27-a', 'py27-b'])
+ @pytest.mark.issue198
+ def test_factors_groups_touch(self, newconfig):
+ inisource="""
+ [tox]
+ envlist = {a,b}{-x,}
+
+ [testenv]
+ deps=
+ a,b,x,y: dep
+ """
+ configs = newconfig([], inisource).envconfigs
+ assert set(configs.keys()) == set(['a', 'a-x', 'b', 'b-x'])
+
def test_period_in_factor(self, newconfig):
inisource="""
[tox]
diff --git a/tests/test_quickstart.py b/tests/test_quickstart.py
index df8a98f..5aaacc2 100644
--- a/tests/test_quickstart.py
+++ b/tests/test_quickstart.py
@@ -37,6 +37,7 @@ class TestToxQuickstartMain(object):
'Y', # py32
'Y', # py33
'Y', # py34
+ 'Y', # py35
'Y', # pypy
'N', # jython
'py.test', # command to run tests
@@ -54,7 +55,7 @@ class TestToxQuickstartMain(object):
# and then run "tox" from this directory.
[tox]
-envlist = py26, py27, py32, py33, py34, pypy
+envlist = py26, py27, py32, py33, py34, py35, pypy
[testenv]
commands = py.test
@@ -77,6 +78,7 @@ deps =
'Y', # py32
'Y', # py33
'Y', # py34
+ 'Y', # py35
'Y', # pypy
'N', # jython
'nosetests', # command to run tests
@@ -94,7 +96,7 @@ deps =
# and then run "tox" from this directory.
[tox]
-envlist = py26, py27, py32, py33, py34, pypy
+envlist = py26, py27, py32, py33, py34, py35, pypy
[testenv]
commands = nosetests
@@ -117,6 +119,7 @@ deps =
'Y', # py32
'Y', # py33
'Y', # py34
+ 'Y', # py35
'Y', # pypy
'N', # jython
'trial', # command to run tests
@@ -134,7 +137,7 @@ deps =
# and then run "tox" from this directory.
[tox]
-envlist = py26, py27, py32, py33, py34, pypy
+envlist = py26, py27, py32, py33, py34, py35, pypy
[testenv]
commands = trial
@@ -157,6 +160,7 @@ deps =
'Y', # py32
'Y', # py33
'Y', # py34
+ 'Y', # py35
'Y', # pypy
'N', # jython
'py.test', # command to run tests
@@ -173,7 +177,7 @@ deps =
# and then run "tox" from this directory.
[tox]
-envlist = py26, py27, py32, py33, py34, pypy
+envlist = py26, py27, py32, py33, py34, py35, pypy
[testenv]
commands = py.test
@@ -272,7 +276,7 @@ deps =
# and then run "tox" from this directory.
[tox]
-envlist = py26, py27, py32, py33, py34, pypy, jython
+envlist = py26, py27, py32, py33, py34, py35, pypy, jython
[testenv]
commands = py.test
@@ -295,6 +299,7 @@ deps =
'', # py32
'', # py33
'', # py34
+ '', # py35
'', # pypy
'', # jython
'', # command to run tests
@@ -312,7 +317,7 @@ deps =
# and then run "tox" from this directory.
[tox]
-envlist = py26, py27, py32, py33, py34, pypy, jython
+envlist = py26, py27, py32, py33, py34, py35, pypy, jython
[testenv]
commands = {envpython} setup.py test
@@ -339,6 +344,7 @@ deps =
'', # py32
'', # py33
'', # py34
+ '', # py35
'', # pypy
'', # jython
'', # command to run tests
@@ -357,7 +363,7 @@ deps =
# and then run "tox" from this directory.
[tox]
-envlist = py26, py27, py32, py33, py34, pypy, jython
+envlist = py26, py27, py32, py33, py34, py35, pypy, jython
[testenv]
commands = {envpython} setup.py test
@@ -459,6 +465,7 @@ deps =
'py32': True,
'py33': True,
'py34': True,
+ 'py35': True,
'pypy': True,
'commands': 'nosetests -v',
'deps': 'nose',
@@ -470,7 +477,7 @@ deps =
# and then run "tox" from this directory.
[tox]
-envlist = py27, py32, py33, py34, pypy
+envlist = py27, py32, py33, py34, py35, pypy
[testenv]
commands = nosetests -v
diff --git a/tox/_config.py b/tox/_config.py
index 0fd8884..3d26686 100644
--- a/tox/_config.py
+++ b/tox/_config.py
@@ -466,7 +466,7 @@ def _split_factor_expr(expr):
def _expand_envstr(envstr):
# split by commas not in groups
- tokens = re.split(r'(\{[^}]+\})|,', envstr)
+ tokens = re.split(r'((?:\{[^}]+\})+)|,', envstr)
envlist = [''.join(g).strip()
for k, g in itertools.groupby(tokens, key=bool) if k]