10
10
# https://docs.python.org/3/whatsnew/3.6.html#pep-525-asynchronous-generators
11
11
ASYNC_GENERATORS = sys .version_info >= (3 , 6 )
12
12
13
+ timeout = 15
14
+
13
15
14
16
# https://github.com/pytest-dev/pytest/issues/6505
15
17
def force_plural (name ):
@@ -87,7 +89,13 @@ def skip_if_no_async_generators():
87
89
@pytest .fixture
88
90
def cmd_opts (request ):
89
91
reactor = request .config .getoption ("reactor" , "default" )
90
- return ("--reactor={}" .format (reactor ),)
92
+ return (
93
+ sys .executable ,
94
+ "-m" ,
95
+ "pytest" ,
96
+ "-v" ,
97
+ "--reactor={}" .format (reactor ),
98
+ )
91
99
92
100
93
101
def test_inline_callbacks_in_pytest ():
@@ -117,7 +125,7 @@ def f():
117
125
yield 42
118
126
""" .format (import_path = import_path , decorator = decorator )
119
127
testdir .makepyfile (test_file )
120
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
128
+ rr = testdir .run (* cmd_opts , timeout = timeout )
121
129
122
130
expected_outcomes = {"passed" : 1 }
123
131
if should_warn :
@@ -161,7 +169,7 @@ def test_succeed(foo):
161
169
pass
162
170
""" .format (import_path = import_path , function = function )
163
171
testdir .makepyfile (test_file )
164
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
172
+ rr = testdir .run (* cmd_opts , timeout = timeout )
165
173
166
174
expected_outcomes = {"passed" : 1 }
167
175
if should_warn :
@@ -186,7 +194,7 @@ def doit():
186
194
return d
187
195
"""
188
196
testdir .makepyfile (test_file )
189
- rr = testdir .run (sys . executable , "-m" , "pytest" , * cmd_opts )
197
+ rr = testdir .run (* cmd_opts , timeout = timeout )
190
198
assert_outcomes (rr , {"failed" : 1 })
191
199
192
200
@@ -200,7 +208,7 @@ def test_succeed():
200
208
return d
201
209
"""
202
210
testdir .makepyfile (test_file )
203
- rr = testdir .run (sys . executable , "-m" , "pytest" , * cmd_opts )
211
+ rr = testdir .run (* cmd_opts , timeout = timeout )
204
212
assert_outcomes (rr , {"passed" : 1 })
205
213
206
214
@@ -212,7 +220,7 @@ def test_succeed():
212
220
return 42
213
221
"""
214
222
testdir .makepyfile (test_file )
215
- rr = testdir .run (sys . executable , "-m" , "pytest" , * cmd_opts )
223
+ rr = testdir .run (* cmd_opts , timeout = timeout )
216
224
assert_outcomes (rr , {"passed" : 1 })
217
225
218
226
@@ -222,7 +230,7 @@ def test_more_fail():
222
230
raise RuntimeError("foo")
223
231
"""
224
232
testdir .makepyfile (test_file )
225
- rr = testdir .run (sys . executable , "-m" , "pytest" , * cmd_opts )
233
+ rr = testdir .run (* cmd_opts , timeout = timeout )
226
234
assert_outcomes (rr , {"failed" : 1 })
227
235
228
236
@@ -252,7 +260,7 @@ def test_succeed(foo):
252
260
raise RuntimeError("baz")
253
261
""" .format (optional_call = empty_optional_call )
254
262
testdir .makepyfile (test_file )
255
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
263
+ rr = testdir .run (* cmd_opts , timeout = timeout )
256
264
assert_outcomes (rr , {"passed" : 2 , "failed" : 1 })
257
265
258
266
@@ -274,7 +282,7 @@ async def test_succeed(foo):
274
282
raise RuntimeError("baz")
275
283
""" .format (optional_call = empty_optional_call )
276
284
testdir .makepyfile (test_file )
277
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
285
+ rr = testdir .run (* cmd_opts , timeout = timeout )
278
286
assert_outcomes (rr , {"passed" : 2 , "failed" : 1 })
279
287
280
288
@@ -294,7 +302,7 @@ def test_MAIN():
294
302
assert MAIN is greenlet.getcurrent()
295
303
"""
296
304
testdir .makepyfile (test_file )
297
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
305
+ rr = testdir .run (* cmd_opts , timeout = timeout )
298
306
assert_outcomes (rr , {"passed" : 1 })
299
307
300
308
@@ -319,7 +327,7 @@ def test_succeed(foo):
319
327
raise RuntimeError("baz")
320
328
"""
321
329
testdir .makepyfile (test_file )
322
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
330
+ rr = testdir .run (* cmd_opts , timeout = timeout )
323
331
assert_outcomes (rr , {"passed" : 2 , "failed" : 1 })
324
332
325
333
@@ -345,7 +353,7 @@ async def test_succeed(foo):
345
353
raise RuntimeError("baz")
346
354
"""
347
355
testdir .makepyfile (test_file )
348
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
356
+ rr = testdir .run (* cmd_opts , timeout = timeout )
349
357
assert_outcomes (rr , {"passed" : 2 , "failed" : 1 })
350
358
351
359
@@ -381,7 +389,7 @@ def test_succeed_blue(foo):
381
389
raise RuntimeError("baz")
382
390
"""
383
391
testdir .makepyfile (test_file )
384
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
392
+ rr = testdir .run (* cmd_opts , timeout = timeout )
385
393
assert_outcomes (rr , {"passed" : 2 , "failed" : 1 })
386
394
387
395
@@ -437,7 +445,7 @@ def test_succeed(this, that):
437
445
testdir .makepyfile (test_file )
438
446
# TODO: add a timeout, failure just hangs indefinitely for now
439
447
# https://github.com/pytest-dev/pytest/issues/4073
440
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
448
+ rr = testdir .run (* cmd_opts , timeout = timeout )
441
449
assert_outcomes (rr , {"passed" : 1 })
442
450
443
451
@@ -476,7 +484,7 @@ def test_succeed(foo):
476
484
raise RuntimeError("baz")
477
485
"""
478
486
testdir .makepyfile (test_file )
479
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
487
+ rr = testdir .run (* cmd_opts , timeout = timeout )
480
488
# TODO: this is getting super imprecise...
481
489
assert_outcomes (rr , {"passed" : 4 , "failed" : 1 , "errors" : 2 })
482
490
@@ -548,7 +556,7 @@ def test_second(foo):
548
556
check_me = 2
549
557
"""
550
558
testdir .makepyfile (test_file )
551
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
559
+ rr = testdir .run (* cmd_opts , timeout = timeout )
552
560
assert_outcomes (rr , {"passed" : 2 })
553
561
554
562
@@ -577,7 +585,7 @@ async def test_doublefour(doublefour):
577
585
assert doublefour == 8
578
586
"""
579
587
testdir .makepyfile (test_file )
580
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
588
+ rr = testdir .run (* cmd_opts , timeout = timeout )
581
589
assert_outcomes (rr , {"passed" : 2 })
582
590
583
591
@@ -606,7 +614,7 @@ async def test_doublefour(doublefour):
606
614
assert doublefour == 8
607
615
"""
608
616
testdir .makepyfile (test_file )
609
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
617
+ rr = testdir .run (* cmd_opts , timeout = timeout )
610
618
assert_outcomes (rr , {"passed" : 2 })
611
619
612
620
@@ -653,7 +661,7 @@ async def test_doubleincrement(doubleincrement):
653
661
assert (first, second) == (0, 2)
654
662
""" .format (maybe_async = maybe_async , maybe_await = maybe_await )
655
663
testdir .makepyfile (test_file )
656
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
664
+ rr = testdir .run (* cmd_opts , timeout = timeout )
657
665
assert_outcomes (rr , {"passed" : 2 })
658
666
# assert_outcomes(rr, {"passed": 1})
659
667
@@ -701,7 +709,7 @@ async def test_doubleincrement(doubleincrement):
701
709
assert (first, second) == (0, 2)
702
710
""" .format (maybe_async = maybe_async , maybe_await = maybe_await )
703
711
testdir .makepyfile (test_file )
704
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
712
+ rr = testdir .run (* cmd_opts , timeout = timeout )
705
713
assert_outcomes (rr , {"passed" : 2 })
706
714
707
715
@@ -729,7 +737,7 @@ def test_succeed():
729
737
return d
730
738
"""
731
739
testdir .makepyfile (test_file )
732
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
740
+ rr = testdir .run (* cmd_opts , timeout = timeout )
733
741
assert_outcomes (rr , {"passed" : 1 })
734
742
735
743
@@ -746,7 +754,7 @@ def test_succeed():
746
754
pass
747
755
"""
748
756
testdir .makepyfile (test_file )
749
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
757
+ rr = testdir .run (* cmd_opts , timeout = timeout )
750
758
assert "WrongReactorAlreadyInstalledError" in rr .stderr .str ()
751
759
752
760
@@ -776,7 +784,7 @@ def test_succeed():
776
784
return d
777
785
"""
778
786
testdir .makepyfile (test_file )
779
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
787
+ rr = testdir .run (* cmd_opts , timeout = timeout )
780
788
assert_outcomes (rr , {"passed" : 1 })
781
789
782
790
@@ -793,11 +801,11 @@ def test_succeed():
793
801
pass
794
802
"""
795
803
testdir .makepyfile (test_file )
796
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
804
+ rr = testdir .run (* cmd_opts , timeout = timeout )
797
805
assert "WrongReactorAlreadyInstalledError" in rr .stderr .str ()
798
806
799
807
800
- def test_pytest_from_reactor_thread (testdir , request ):
808
+ def test_pytest_from_reactor_thread (testdir , cmd_opts , request ):
801
809
skip_if_reactor_not (request , "default" )
802
810
test_file = """
803
811
import pytest
@@ -845,10 +853,10 @@ def main():
845
853
"""
846
854
testdir .makepyfile (runner = runner_file )
847
855
# check test file is ok in standalone mode:
848
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" )
856
+ rr = testdir .run (* cmd_opts , timeout = timeout )
849
857
assert_outcomes (rr , {"passed" : 1 , "failed" : 1 })
850
858
# test embedded mode:
851
- assert testdir .run (sys .executable , "runner.py" ).ret == 0
859
+ assert testdir .run (sys .executable , "runner.py" , timeout = timeout ).ret == 0
852
860
853
861
854
862
def test_blockon_in_hook_with_asyncio (testdir , cmd_opts , request ):
@@ -880,7 +888,7 @@ def test_succeed():
880
888
return d
881
889
"""
882
890
testdir .makepyfile (test_file )
883
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
891
+ rr = testdir .run (* cmd_opts , timeout = timeout )
884
892
assert_outcomes (rr , {"passed" : 1 })
885
893
886
894
@@ -905,7 +913,7 @@ def test_succeed():
905
913
pass
906
914
"""
907
915
testdir .makepyfile (test_file )
908
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
916
+ rr = testdir .run (* cmd_opts , timeout = timeout )
909
917
assert "WrongReactorAlreadyInstalledError" in rr .stderr .str ()
910
918
911
919
@@ -953,5 +961,5 @@ def test_second(foo):
953
961
check_me = 3
954
962
"""
955
963
testdir .makepyfile (test_file )
956
- rr = testdir .run (sys . executable , "-m" , "pytest" , "-v" , * cmd_opts )
964
+ rr = testdir .run (* cmd_opts , timeout = timeout )
957
965
assert_outcomes (rr , {"passed" : 2 })
0 commit comments