4
4
import importlib
5
5
import sys
6
6
import socket
7
+ from asyncio import staggered
7
8
from unittest .mock import ANY
8
9
from test .support import os_helper , SHORT_TIMEOUT , busy_retry , requires_gil_enabled
9
10
from test .support .script_helper import make_script
@@ -90,10 +91,10 @@ def foo():
90
91
91
92
92
93
expected_stack_trace = [
93
- 'foo' ,
94
- 'baz' ,
95
- 'bar' ,
96
- '<module>'
94
+ ( 'foo' , script_name , 15 ) ,
95
+ ( 'baz' , script_name , 11 ) ,
96
+ ( 'bar' , script_name , 9 ) ,
97
+ ( '<module>' , script_name , 17 ),
97
98
]
98
99
self .assertEqual (stack_trace , expected_stack_trace )
99
100
@@ -185,7 +186,12 @@ def new_eager_loop():
185
186
186
187
root_task = "Task-1"
187
188
expected_stack_trace = [
188
- ['c5' , 'c4' , 'c3' , 'c2' ],
189
+ [
190
+ ('c5' , script_name , 11 ),
191
+ ('c4' , script_name , 15 ),
192
+ ('c3' , script_name , 18 ),
193
+ ('c2' , script_name , 21 ),
194
+ ],
189
195
'c2_root' ,
190
196
[
191
197
[['_aexit' , '__aexit__' , 'main' ], root_task , []],
@@ -258,7 +264,11 @@ async def main():
258
264
stack_trace [2 ].sort (key = lambda x : x [1 ])
259
265
260
266
expected_stack_trace = [
261
- ['gen_nested_call' , 'gen' , 'main' ], 'Task-1' , []
267
+ [('gen_nested_call' , script_name , 11 ),
268
+ ('gen' , script_name , 17 ),
269
+ ('main' , script_name , 20 )],
270
+ 'Task-1' ,
271
+ []
262
272
]
263
273
self .assertEqual (stack_trace , expected_stack_trace )
264
274
@@ -326,9 +336,10 @@ async def main():
326
336
# sets are unordered, so we want to sort "awaited_by"s
327
337
stack_trace [2 ].sort (key = lambda x : x [1 ])
328
338
329
- expected_stack_trace = [
330
- ['deep' , 'c1' ], 'Task-2' , [[['main' ], 'Task-1' , []]]
331
- ]
339
+ expected_stack_trace = [[('deep' , script_name , 12 ),
340
+ ('c1' , script_name , 16 )],
341
+ 'Task-2' ,
342
+ [[['main' ], 'Task-1' , []]]]
332
343
self .assertEqual (stack_trace , expected_stack_trace )
333
344
334
345
@skip_if_not_supported
@@ -398,10 +409,13 @@ async def main():
398
409
# sets are unordered, so we want to sort "awaited_by"s
399
410
stack_trace [2 ].sort (key = lambda x : x [1 ])
400
411
401
- expected_stack_trace = [
402
- ['deep' , 'c1' , 'run_one_coro' ],
403
- 'Task-2' ,
404
- [[['staggered_race' , 'main' ], 'Task-1' , []]]
412
+ expected_stack_trace = [[
413
+ ('deep' , script_name , 12 ),
414
+ ('c1' , script_name , 16 ),
415
+ ('staggered_race.<locals>.run_one_coro' , staggered .__file__ , 127 )
416
+ ],
417
+ 'Task-2' ,
418
+ [[['staggered_race' , 'main' ], 'Task-1' , []]]
405
419
]
406
420
self .assertEqual (stack_trace , expected_stack_trace )
407
421
@@ -548,7 +562,7 @@ async def main():
548
562
"Test only runs on Linux with process_vm_readv support" )
549
563
def test_self_trace (self ):
550
564
stack_trace = get_stack_trace (os .getpid ())
551
- self .assertEqual (stack_trace [0 ], " test_self_trace" )
565
+ self .assertEqual (stack_trace [0 ], ( 'TestGetStackTrace. test_self_trace' , __file__ , 564 ) )
552
566
553
567
if __name__ == "__main__" :
554
568
unittest .main ()
0 commit comments