16
16
17
17
18
18
def fails_with_output (expected , error = AssertionError , ** kw ):
19
+ expected = [expected ] if isinstance (expected , str ) else expected
20
+
19
21
def _inner (f ):
20
22
def _new ():
21
23
with pytest .raises (error ) as err :
22
24
settings (print_blob = False , derandomize = True , ** kw )(f )()
23
25
got = "\n " .join (err .value .__notes__ ).strip () + "\n "
24
- assert got == expected .strip () + "\n "
26
+ assert any ( got == s .strip () + "\n " for s in expected )
25
27
26
28
return _new
27
29
@@ -32,7 +34,8 @@ def _new():
32
34
# false negatives in our inquisitor code skip over it sometimes, depending on the
33
35
# seen_passed_buffers. yet another thing that should be improved by moving to the ir.
34
36
@fails_with_output (
35
- """
37
+ [
38
+ """
36
39
Falsifying example: test_inquisitor_comments_basic_fail_if_either(
37
40
# The test always failed when commented parts were varied together.
38
41
a=False,
@@ -41,7 +44,18 @@ def _new():
41
44
d=True,
42
45
e=False, # or any other generated value
43
46
)
44
- """
47
+ """ ,
48
+ """
49
+ Falsifying example: test_inquisitor_comments_basic_fail_if_either(
50
+ # The test always failed when commented parts were varied together.
51
+ a=False, # or any other generated value
52
+ b=True,
53
+ c=[], # or any other generated value
54
+ d=True,
55
+ e=False, # or any other generated value
56
+ )
57
+ """ ,
58
+ ]
45
59
)
46
60
@given (st .booleans (), st .booleans (), st .lists (st .none ()), st .booleans (), st .booleans ())
47
61
def test_inquisitor_comments_basic_fail_if_either (a , b , c , d , e ):
0 commit comments