File tree Expand file tree Collapse file tree 2 files changed +10
-2
lines changed Expand file tree Collapse file tree 2 files changed +10
-2
lines changed Original file line number Diff line number Diff line change 13
13
from trio .testing import MockClock
14
14
from _pytest .outcomes import Skipped , XFailed
15
15
# pytest_timeout_set_timer needs to be imported here for pluggy
16
- from .timeout import set_timeout , pytest_timeout_set_timer as pytest_timeout_set_timer
16
+ from .timeout import set_timeout , TimeoutTriggeredException , pytest_timeout_set_timer as pytest_timeout_set_timer
17
17
18
18
if sys .version_info [:2 ] < (3 , 11 ):
19
19
from exceptiongroup import BaseExceptionGroup
@@ -362,6 +362,8 @@ def wrapper(**kwargs):
362
362
ex = queue .pop ()
363
363
if isinstance (ex , BaseExceptionGroup ):
364
364
queue .extend (ex .exceptions )
365
+ elif isinstance (ex , TimeoutTriggeredException ):
366
+ pytest .fail (str (ex ), pytrace = False )
365
367
else :
366
368
leaves .append (ex )
367
369
if len (leaves ) == 1 :
@@ -372,6 +374,8 @@ def wrapper(**kwargs):
372
374
# Since our leaf exceptions don't consist of exactly one 'magic'
373
375
# skipped or xfailed exception, re-raise the whole group.
374
376
raise
377
+ except TimeoutTriggeredException as ex :
378
+ pytest .fail (str (ex ), pytrace = False )
375
379
376
380
return wrapper
377
381
Original file line number Diff line number Diff line change @@ -48,6 +48,10 @@ def pytest_timeout_set_timer(
48
48
# No need for pytest_timeout_cancel_timer as we detect that the test loop has exited
49
49
50
50
51
+ class TimeoutTriggeredException (Exception ):
52
+ pass
53
+
54
+
51
55
def trio_timeout_thread ():
52
56
async def run_timeouts ():
53
57
async with trio .open_nursery () as nursery :
@@ -87,7 +91,7 @@ async def execute_timeout() -> None:
87
91
stack = "\n " .join (format_recursive_nursery_stack (nursery ) + ["Timeout reached" ])
88
92
89
93
async def report ():
90
- pytest . fail (stack , pytrace = False )
94
+ raise TimeoutTriggeredException (stack )
91
95
92
96
nursery .start_soon (report )
93
97
You can’t perform that action at this time.
0 commit comments