|
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