Added test_pytest_make_parametrize_id

This commit is contained in:
palaviv 2016-04-25 17:48:28 +03:00
parent 79927428d1
commit b9faf78d51
2 changed files with 20 additions and 2 deletions

View File

@ -1133,7 +1133,7 @@ else:
return val.encode('unicode-escape')
def _idval(val, argname, idx, idfn, config):
def _idval(val, argname, idx, idfn, config=None):
if idfn:
try:
s = idfn(val)
@ -1159,7 +1159,7 @@ def _idval(val, argname, idx, idfn, config):
return val.__name__
return str(argname)+str(idx)
def _idvalset(idx, valset, argnames, idfn, ids, config):
def _idvalset(idx, valset, argnames, idfn, ids, config=None):
if ids is None or ids[idx] is None:
this_id = [_idval(val, argname, idx, idfn, config)
for val, argname in zip(valset, argnames)]

View File

@ -1156,3 +1156,21 @@ class TestMarkersWithParametrization:
""")
reprec = testdir.inline_run()
reprec.assertoutcome(passed=2)
def test_pytest_make_parametrize_id(self, testdir):
testdir.makeconftest("""
def pytest_make_parametrize_id(val):
return str(val * 2)
""")
testdir.makepyfile("""
import pytest
@pytest.mark.parametrize("x", range(2))
def test_func(x):
pass
""")
result = testdir.runpytest("-v")
result.stdout.fnmatch_lines([
"*test_func*0*PASS*",
"*test_func*2*PASS*",
])