Skip to content

Commit ce2861b

Browse files
committed
Merge branch 'parametrize'. Fix #28.
2 parents 3425197 + dbbfa58 commit ce2861b

File tree

3 files changed

+42
-29
lines changed

3 files changed

+42
-29
lines changed

doc/examples/dyn-parametrized.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,14 @@ def __str__(self):
2626
# Create enriched parameter lists, decorated with the dependency marker.
2727

2828
childparam = [
29-
pytest.mark.dependency(name="test_child[%s]" % c)(c) for c in childs
29+
pytest.param(c, marks=pytest.mark.dependency(name="test_child[%s]" % c))
30+
for c in childs
3031
]
3132
parentparam = [
32-
pytest.mark.dependency(
33+
pytest.param(p, marks=pytest.mark.dependency(
3334
name="test_parent[%s]" % p,
3435
depends=["test_child[%s]" % c for c in p.children]
35-
)(p) for p in parents
36+
)) for p in parents
3637
]
3738

3839
@pytest.mark.parametrize("c", childparam)

doc/examples/parametrized.py

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,39 @@
11
import pytest
22

33
@pytest.mark.parametrize("x,y", [
4-
pytest.mark.dependency(name="a1")((0,0)),
5-
pytest.mark.dependency(name="a2")(pytest.mark.xfail((0,1))),
6-
pytest.mark.dependency(name="a3")((1,0)),
7-
pytest.mark.dependency(name="a4")((1,1))
4+
pytest.param(0, 0, marks=pytest.mark.dependency(name="a1")),
5+
pytest.param(0, 1, marks=[pytest.mark.dependency(name="a2"),
6+
pytest.mark.xfail]),
7+
pytest.param(1, 0, marks=pytest.mark.dependency(name="a3")),
8+
pytest.param(1, 1, marks=pytest.mark.dependency(name="a4"))
89
])
910
def test_a(x,y):
1011
assert y <= x
1112

1213
@pytest.mark.parametrize("u,v", [
13-
pytest.mark.dependency(name="b1", depends=["a1", "a2"])((1,2)),
14-
pytest.mark.dependency(name="b2", depends=["a1", "a3"])((1,3)),
15-
pytest.mark.dependency(name="b3", depends=["a1", "a4"])((1,4)),
16-
pytest.mark.dependency(name="b4", depends=["a2", "a3"])((2,3)),
17-
pytest.mark.dependency(name="b5", depends=["a2", "a4"])((2,4)),
18-
pytest.mark.dependency(name="b6", depends=["a3", "a4"])((3,4))
14+
pytest.param(1, 2, marks=pytest.mark.dependency(name="b1",
15+
depends=["a1", "a2"])),
16+
pytest.param(1, 3, marks=pytest.mark.dependency(name="b2",
17+
depends=["a1", "a3"])),
18+
pytest.param(1, 4, marks=pytest.mark.dependency(name="b3",
19+
depends=["a1", "a4"])),
20+
pytest.param(2, 3, marks=pytest.mark.dependency(name="b4",
21+
depends=["a2", "a3"])),
22+
pytest.param(2, 4, marks=pytest.mark.dependency(name="b5",
23+
depends=["a2", "a4"])),
24+
pytest.param(3, 4, marks=pytest.mark.dependency(name="b6",
25+
depends=["a3", "a4"]))
1926
])
2027
def test_b(u,v):
2128
pass
2229

2330
@pytest.mark.parametrize("w", [
24-
pytest.mark.dependency(name="c1", depends=["b1", "b2", "b6"])(1),
25-
pytest.mark.dependency(name="c2", depends=["b2", "b3", "b6"])(2),
26-
pytest.mark.dependency(name="c3", depends=["b2", "b4", "b6"])(3)
31+
pytest.param(1, marks=pytest.mark.dependency(name="c1",
32+
depends=["b1", "b2", "b6"])),
33+
pytest.param(2, marks=pytest.mark.dependency(name="c2",
34+
depends=["b2", "b3", "b6"])),
35+
pytest.param(3, marks=pytest.mark.dependency(name="c3",
36+
depends=["b2", "b4", "b6"]))
2737
])
2838
def test_c(w):
2939
pass

tests/test_03_param.py

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,30 +8,32 @@ def test_multiple(ctestdir):
88
ctestdir.makepyfile("""
99
import pytest
1010
11+
_md = pytest.mark.dependency
12+
1113
@pytest.mark.parametrize("x,y", [
12-
pytest.mark.dependency(name="a1")((0,0)),
13-
pytest.mark.dependency(name="a2")((0,1)),
14-
pytest.mark.dependency(name="a3")((1,0)),
15-
pytest.mark.dependency(name="a4")((1,1))
14+
pytest.param(0, 0, marks=_md(name="a1")),
15+
pytest.param(0, 1, marks=_md(name="a2")),
16+
pytest.param(1, 0, marks=_md(name="a3")),
17+
pytest.param(1, 1, marks=_md(name="a4"))
1618
])
1719
def test_a(x,y):
1820
assert x==0 or y==0
1921
2022
@pytest.mark.parametrize("u,v", [
21-
pytest.mark.dependency(name="b1", depends=["a1", "a2"])((1,2)),
22-
pytest.mark.dependency(name="b2", depends=["a1", "a3"])((1,3)),
23-
pytest.mark.dependency(name="b3", depends=["a1", "a4"])((1,4)),
24-
pytest.mark.dependency(name="b4", depends=["a2", "a3"])((2,3)),
25-
pytest.mark.dependency(name="b5", depends=["a2", "a4"])((2,4)),
26-
pytest.mark.dependency(name="b6", depends=["a3", "a4"])((3,4))
23+
pytest.param(1, 2, marks=_md(name="b1", depends=["a1", "a2"])),
24+
pytest.param(1, 3, marks=_md(name="b2", depends=["a1", "a3"])),
25+
pytest.param(1, 4, marks=_md(name="b3", depends=["a1", "a4"])),
26+
pytest.param(2, 3, marks=_md(name="b4", depends=["a2", "a3"])),
27+
pytest.param(2, 4, marks=_md(name="b5", depends=["a2", "a4"])),
28+
pytest.param(3, 4, marks=_md(name="b6", depends=["a3", "a4"]))
2729
])
2830
def test_b(u,v):
2931
pass
3032
3133
@pytest.mark.parametrize("w", [
32-
pytest.mark.dependency(name="c1", depends=["b1", "b3", "b5"])(1),
33-
pytest.mark.dependency(name="c2", depends=["b1", "b3", "b6"])(2),
34-
pytest.mark.dependency(name="c3", depends=["b1", "b2", "b4"])(3)
34+
pytest.param(1, marks=_md(name="c1", depends=["b1", "b3", "b5"])),
35+
pytest.param(2, marks=_md(name="c2", depends=["b1", "b3", "b6"])),
36+
pytest.param(3, marks=_md(name="c3", depends=["b1", "b2", "b4"]))
3537
])
3638
def test_c(w):
3739
pass

0 commit comments

Comments
 (0)