|
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