fix regression reported by dstufft: regression when a 1-tuple ("arg",) is used

for specifying parametrization (the values of the parametrization were passed
nested in a tuple).
This commit is contained in:
holger krekel 2013-10-02 08:08:26 +02:00
parent acc5679bc8
commit d3c9927fee
3 changed files with 16 additions and 2 deletions

View File

@ -8,6 +8,10 @@ Changes between 2.4.0 and 2.4.1
- fix dotted filename completion when using argcomplete
thanks Anthon van der Neuth. (fixes issue361)
- fix regression when a 1-tuple ("arg",) is used for specifying
parametrization (the values of the parametrization were passed
nested in a tuple). Thanks Donald Stufft.
- merge doc typo fixes, thanks Andy Dirnberger
Changes between 2.3.5 and 2.4

View File

@ -710,8 +710,8 @@ class Metafunc(FuncargnamesCompatAttr):
if not isinstance(argnames, (tuple, list)):
argnames = [x.strip() for x in argnames.split(",") if x.strip()]
if len(argnames) == 1:
argvalues = [(val,) for val in argvalues]
if len(argnames) == 1:
argvalues = [(val,) for val in argvalues]
if not argvalues:
argvalues = [(_notexists,) * len(argnames)]

View File

@ -316,6 +316,16 @@ class TestFunction:
reprec = testdir.inline_run()
reprec.assertoutcome(skipped=1)
def test_single_tuple_unwraps_values(self, testdir):
testdir.makepyfile("""
import pytest
@pytest.mark.parametrize(('arg',), [(1,)])
def test_function(arg):
assert arg == 1
""")
reprec = testdir.inline_run()
reprec.assertoutcome(passed=1)
def test_issue213_parametrize_value_no_equal(self, testdir):
testdir.makepyfile("""
import pytest