Skip to content

Commit 9582d5b

Browse files
author
Sylvain MARIE
committed
Tests modified so that super closure tests are run only once
1 parent a651066 commit 9582d5b

3 files changed

Lines changed: 45 additions & 22 deletions

File tree

pytest_cases/tests/pytest_extension/doc/test_doc_fixture_graph_union.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,18 @@ def b(ub, ib):
4242
u = fixture_union("u", (a, b))
4343

4444

45+
super_closure = None
46+
47+
4548
def test_1(u, request):
46-
# make sure that the closure tree looks good
49+
# store for later
50+
global super_closure
4751
super_closure = request._pyfuncitem.fixturenames
4852

53+
54+
def test_closure():
55+
# make sure that the closure tree looks good
56+
global super_closure
4957
assert str(super_closure) == """SuperClosure with 3 alternative closures:
5058
- ['e', 'request', 'u', 'a', 'c', 'd'] (filters: u=u[0]=a)
5159
- ['e', 'request', 'u', 'b', 'b_ub', 'a', 'c', 'd'] (filters: u=u[1]=b, b_ub=b_ub[0]=a)

pytest_cases/tests/pytest_extension/fixtures/fixture_unions/test_fixture_closure_edits.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,17 @@ def test_issue116(request):
2020
b = fixture_union('b', [a, a])
2121

2222

23+
super_closure = None
24+
25+
2326
def test_super_closure_edits(request, b):
24-
#
27+
# save for later
28+
global super_closure
2529
super_closure = request._pyfuncitem._fixtureinfo.names_closure
2630

31+
32+
def test_super_closure_edits2():
33+
global super_closure
2734
assert isinstance(super_closure, SuperClosure)
2835
super_closure = copy(super_closure)
2936
assert len(super_closure) == 3

pytest_cases/tests/pytest_extension/fixtures/fixture_unions/test_fixtures_union_2hard.py

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,28 +10,13 @@
1010
d = fixture_union('d', [b, a])
1111

1212

13-
def test_fixture_union_harder(c, a, d, request):
14-
15-
# make sure that the closure tree looks good
16-
super_closure = request._pyfuncitem.fixturenames
17-
assert isinstance(super_closure, SuperClosure)
18-
assert str(super_closure) == """SuperClosure with 4 alternative closures:
19-
- ['c', 'a', 'request', 'd', 'b'] (filters: c=c[0]=a, d=d[0]=b)
20-
- ['c', 'a', 'request', 'd'] (filters: c=c[0]=a, d=d[1]=a)
21-
- ['c', 'b', 'request', 'a', 'd'] (filters: c=c[1]=b, d=d[0]=b)
22-
- ['c', 'b', 'request', 'a', 'd'] (filters: c=c[1]=b, d=d[1]=a)
23-
The 'super closure list' is ['c', 'a', 'request', 'd', 'b']
13+
super_closure = None
2414

25-
The fixture tree is :
26-
(c) split: c
27-
- (a,request,d) split: d
28-
- (b)
29-
- ()
30-
- (b,request,a,d) split: d
31-
- ()
32-
- ()
33-
"""
3415

16+
def test_fixture_union_harder(c, a, d, request):
17+
# save super closure for later
18+
global super_closure
19+
super_closure = request._pyfuncitem.fixturenames
3520
print(c, a, d)
3621

3722

@@ -50,3 +35,26 @@ def test_synthesis(module_results_dct):
5035
"test_fixture_union_harder[c_is_b-2-x-d_is_a]",
5136
"test_fixture_union_harder[c_is_b-2-y-d_is_b]",
5237
"test_fixture_union_harder[c_is_b-2-y-d_is_a]"]
38+
39+
40+
def test_super_closure():
41+
global super_closure
42+
43+
# make sure that the closure tree looks good
44+
assert isinstance(super_closure, SuperClosure)
45+
assert str(super_closure) == """SuperClosure with 4 alternative closures:
46+
- ['c', 'a', 'request', 'd', 'b'] (filters: c=c[0]=a, d=d[0]=b)
47+
- ['c', 'a', 'request', 'd'] (filters: c=c[0]=a, d=d[1]=a)
48+
- ['c', 'b', 'request', 'a', 'd'] (filters: c=c[1]=b, d=d[0]=b)
49+
- ['c', 'b', 'request', 'a', 'd'] (filters: c=c[1]=b, d=d[1]=a)
50+
The 'super closure list' is ['c', 'a', 'request', 'd', 'b']
51+
52+
The fixture tree is :
53+
(c) split: c
54+
- (a,request,d) split: d
55+
- (b)
56+
- ()
57+
- (b,request,a,d) split: d
58+
- ()
59+
- ()
60+
"""

0 commit comments

Comments
 (0)