5
5
6
6
def test_fail_later (testdir ):
7
7
testdir .makepyfile ("""
8
- from twisted.internet import reactor, defer
9
-
10
- def test_fail():
11
- def doit():
12
- try:
13
- 1 / 0
14
- except:
15
- d.errback()
16
-
17
- d = defer.Deferred()
18
- reactor.callLater(0.01, doit)
19
- return d
20
- """ )
8
+ from twisted.internet import reactor, defer
9
+
10
+ def test_fail():
11
+ def doit():
12
+ try:
13
+ 1 / 0
14
+ except:
15
+ d.errback()
16
+
17
+ d = defer.Deferred()
18
+ reactor.callLater(0.01, doit)
19
+ return d
20
+ """ )
21
21
rr = testdir .run (sys .executable , "-m" , "pytest" )
22
22
outcomes = rr .parseoutcomes ()
23
23
assert outcomes .get ("failed" ) == 1
24
24
25
25
26
26
def test_succeed_later (testdir ):
27
27
testdir .makepyfile ("""
28
- from twisted.internet import reactor, defer
29
-
30
- def test_succeed():
31
- d = defer.Deferred()
32
- reactor.callLater(0.01, d.callback, 1)
33
- return d
34
- """ )
28
+ from twisted.internet import reactor, defer
29
+
30
+ def test_succeed():
31
+ d = defer.Deferred()
32
+ reactor.callLater(0.01, d.callback, 1)
33
+ return d
34
+ """ )
35
35
rr = testdir .run (sys .executable , "-m" , "pytest" )
36
36
outcomes = rr .parseoutcomes ()
37
37
assert outcomes .get ("passed" ) == 1
38
38
39
39
40
40
def test_non_deferred (testdir ):
41
41
testdir .makepyfile ("""
42
- from twisted.internet import reactor, defer
43
-
44
- def test_succeed():
45
- return 42
46
- """ )
42
+ from twisted.internet import reactor, defer
43
+
44
+ def test_succeed():
45
+ return 42
46
+ """ )
47
47
rr = testdir .run (sys .executable , "-m" , "pytest" )
48
48
outcomes = rr .parseoutcomes ()
49
49
assert outcomes .get ("passed" ) == 1
50
50
51
51
52
52
def test_exception (testdir ):
53
53
testdir .makepyfile ("""
54
- def test_more_fail():
55
- raise RuntimeError("foo")
56
- """ )
54
+ def test_more_fail():
55
+ raise RuntimeError("foo")
56
+ """ )
57
57
rr = testdir .run (sys .executable , "-m" , "pytest" )
58
58
outcomes = rr .parseoutcomes ()
59
59
assert outcomes .get ("failed" ) == 1
60
60
61
61
62
62
def test_inlineCallbacks (testdir ):
63
63
testdir .makepyfile ("""
64
- from twisted.internet import reactor, defer
65
- import pytest
66
-
67
- @pytest.fixture(scope="module",
68
- params=["fs", "imap", "web"])
69
- def foo(request):
70
- return request.param
71
-
72
-
73
- @pytest.inlineCallbacks
74
- def test_succeed(foo):
75
- yield defer.succeed(foo)
76
- if foo == "web":
77
- raise RuntimeError("baz")
78
- """ )
64
+ from twisted.internet import reactor, defer
65
+ import pytest
66
+
67
+ @pytest.fixture(scope="module",
68
+ params=["fs", "imap", "web"])
69
+ def foo(request):
70
+ return request.param
71
+
72
+
73
+ @pytest.inlineCallbacks
74
+ def test_succeed(foo):
75
+ yield defer.succeed(foo)
76
+ if foo == "web":
77
+ raise RuntimeError("baz")
78
+ """ )
79
79
rr = testdir .run (sys .executable , "-m" , "pytest" , "-v" )
80
80
outcomes = rr .parseoutcomes ()
81
81
assert outcomes .get ("passed" ) == 2
@@ -84,22 +84,45 @@ def test_succeed(foo):
84
84
85
85
def test_twisted_greenlet (testdir ):
86
86
testdir .makepyfile ("""
87
- import pytest, greenlet
88
-
89
- MAIN = None
90
-
91
-
92
- @pytest.fixture(scope="session", autouse=True)
93
- def set_MAIN(request, twisted_greenlet):
94
- global MAIN
95
- MAIN = twisted_greenlet
96
-
87
+ import pytest, greenlet
88
+
89
+ MAIN = None
90
+
91
+
92
+ @pytest.fixture(scope="session", autouse=True)
93
+ def set_MAIN(request, twisted_greenlet):
94
+ global MAIN
95
+ MAIN = twisted_greenlet
96
+
97
+
98
+ def test_MAIN():
99
+ assert MAIN is not None
100
+ assert MAIN is greenlet.getcurrent()
101
+
102
+ """ )
103
+ rr = testdir .run (sys .executable , "-m" , "pytest" , "-v" )
104
+ outcomes = rr .parseoutcomes ()
105
+ assert outcomes .get ("passed" ) == 1
97
106
98
- def test_MAIN():
99
- assert MAIN is not None
100
- assert MAIN is greenlet.getcurrent()
101
107
102
- """ )
108
+ def test_blocon_in_hook (testdir ):
109
+ testdir .makeconftest ("""
110
+ import pytest
111
+ from twisted.internet import reactor, defer
112
+
113
+ def pytest_configure(config):
114
+ d = defer.Deferred()
115
+ reactor.callLater(0.01, d.callback, 1)
116
+ pytest.blockon(d)
117
+ """ )
118
+ testdir .makepyfile ("""
119
+ from twisted.internet import reactor, defer
120
+
121
+ def test_succeed():
122
+ d = defer.Deferred()
123
+ reactor.callLater(0.01, d.callback, 1)
124
+ return d
125
+ """ )
103
126
rr = testdir .run (sys .executable , "-m" , "pytest" , "-v" )
104
127
outcomes = rr .parseoutcomes ()
105
128
assert outcomes .get ("passed" ) == 1
0 commit comments