Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit20194ad

Browse files
committed
gh-91048: Add filename and line number to external inspection routines
1 parent1d9406e commit20194ad

File tree

3 files changed

+319
-40
lines changed

3 files changed

+319
-40
lines changed

‎Lib/asyncio/tools.py‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ def _index(result):
2727
fortid,tname,awaitedintasks:
2828
id2name[tid]=tname
2929
forstack,parent_idinawaited:
30+
stack= [elem[0]ifisinstance(elem,tuple)elseelemforeleminstack]
3031
awaits.append((parent_id,stack,tid))
3132
returnid2name,awaits
3233

@@ -151,6 +152,7 @@ def build_task_table(result):
151152
]
152153
)
153154
forstack,awaiter_idinawaited:
155+
stack= [elem[0]ifisinstance(elem,tuple)elseelemforeleminstack]
154156
coroutine_chain=" -> ".join(stack)
155157
awaiter_name=id2name.get(awaiter_id,"Unknown")
156158
table.append(

‎Lib/test/test_external_inspection.py‎

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
importimportlib
55
importsys
66
importsocket
7+
fromasyncioimportstaggered
78
fromunittest.mockimportANY
89
fromtest.supportimportos_helper,SHORT_TIMEOUT,busy_retry,requires_gil_enabled
910
fromtest.support.script_helperimportmake_script
@@ -90,10 +91,10 @@ def foo():
9091

9192

9293
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),
9798
]
9899
self.assertEqual(stack_trace,expected_stack_trace)
99100

@@ -185,7 +186,12 @@ def new_eager_loop():
185186

186187
root_task="Task-1"
187188
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+
],
189195
'c2_root',
190196
[
191197
[['_aexit','__aexit__','main'],root_task, []],
@@ -258,7 +264,11 @@ async def main():
258264
stack_trace[2].sort(key=lambdax:x[1])
259265

260266
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+
[]
262272
]
263273
self.assertEqual(stack_trace,expected_stack_trace)
264274

@@ -326,9 +336,10 @@ async def main():
326336
# sets are unordered, so we want to sort "awaited_by"s
327337
stack_trace[2].sort(key=lambdax:x[1])
328338

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', []]]]
332343
self.assertEqual(stack_trace,expected_stack_trace)
333344

334345
@skip_if_not_supported
@@ -398,10 +409,13 @@ async def main():
398409
# sets are unordered, so we want to sort "awaited_by"s
399410
stack_trace[2].sort(key=lambdax:x[1])
400411

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', []]]
405419
]
406420
self.assertEqual(stack_trace,expected_stack_trace)
407421

@@ -548,7 +562,7 @@ async def main():
548562
"Test only runs on Linux with process_vm_readv support")
549563
deftest_self_trace(self):
550564
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))
552566

553567
if__name__=="__main__":
554568
unittest.main()

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp