gh-91048: Refactor _testexternalinspection and add Windows support · python/cpython@5ab86ad · GitHub
Skip to content

Commit 5ab86ad

Browse files
committed
gh-91048: Refactor _testexternalinspection and add Windows support
Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
1 parent 1007aab commit 5ab86ad

11 files changed

Lines changed: 493 additions & 645 deletions
Lines changed: 49 additions & 0 deletions

Lib/test/test_external_inspection.py

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,13 @@ def _make_test_script(script_dir, script_basename, source):
2424
importlib.invalidate_caches()
2525
return to_return
2626

27+
skip_if_not_supported = unittest.skipIf((sys.platform != "darwin"
28+
and sys.platform != "linux"
29+
and sys.platform != "win32"),
30+
"Test only runs on Linux, Windows and MacOS")
2731
class TestGetStackTrace(unittest.TestCase):
2832

29-
@unittest.skipIf(sys.platform != "darwin" and sys.platform != "linux",
30-
"Test only runs on Linux and MacOS")
33+
@skip_if_not_supported
3134
@unittest.skipIf(sys.platform == "linux" and not PROCESS_VM_READV_SUPPORTED,
3235
"Test only runs on Linux with process_vm_readv support")
3336
def test_remote_stack_trace(self):
@@ -79,8 +82,7 @@ def foo():
7982
]
8083
self.assertEqual(stack_trace, expected_stack_trace)
8184

82-
@unittest.skipIf(sys.platform != "darwin" and sys.platform != "linux",
83-
"Test only runs on Linux and MacOS")
85+
@skip_if_not_supported
8486
@unittest.skipIf(sys.platform == "linux" and not PROCESS_VM_READV_SUPPORTED,
8587
"Test only runs on Linux with process_vm_readv support")
8688
def test_async_remote_stack_trace(self):
@@ -169,8 +171,7 @@ def new_eager_loop():
169171
]
170172
self.assertEqual(stack_trace, expected_stack_trace)
171173

172-
@unittest.skipIf(sys.platform != "darwin" and sys.platform != "linux",
173-
"Test only runs on Linux and MacOS")
174+
@skip_if_not_supported
174175
@unittest.skipIf(sys.platform == "linux" and not PROCESS_VM_READV_SUPPORTED,
175176
"Test only runs on Linux with process_vm_readv support")
176177
def test_asyncgen_remote_stack_trace(self):
@@ -227,8 +228,7 @@ async def main():
227228
]
228229
self.assertEqual(stack_trace, expected_stack_trace)
229230

230-
@unittest.skipIf(sys.platform != "darwin" and sys.platform != "linux",
231-
"Test only runs on Linux and MacOS")
231+
@skip_if_not_supported
232232
@unittest.skipIf(sys.platform == "linux" and not PROCESS_VM_READV_SUPPORTED,
233233
"Test only runs on Linux with process_vm_readv support")
234234
def test_async_gather_remote_stack_trace(self):
@@ -287,8 +287,7 @@ async def main():
287287
]
288288
self.assertEqual(stack_trace, expected_stack_trace)
289289

290-
@unittest.skipIf(sys.platform != "darwin" and sys.platform != "linux",
291-
"Test only runs on Linux and MacOS")
290+
@skip_if_not_supported
292291
@unittest.skipIf(sys.platform == "linux" and not PROCESS_VM_READV_SUPPORTED,
293292
"Test only runs on Linux with process_vm_readv support")
294293
def test_async_staggered_race_remote_stack_trace(self):
@@ -350,8 +349,7 @@ async def main():
350349
]
351350
self.assertEqual(stack_trace, expected_stack_trace)
352351

353-
@unittest.skipIf(sys.platform != "darwin" and sys.platform != "linux",
354-
"Test only runs on Linux and MacOS")
352+
@skip_if_not_supported
355353
@unittest.skipIf(sys.platform == "linux" and not PROCESS_VM_READV_SUPPORTED,
356354
"Test only runs on Linux with process_vm_readv support")
357355
def test_async_global_awaited_by(self):
@@ -470,8 +468,7 @@ async def main():
470468
p.terminate()
471469
p.wait(timeout=SHORT_TIMEOUT)
472470

473-
@unittest.skipIf(sys.platform != "darwin" and sys.platform != "linux",
474-
"Test only runs on Linux and MacOS")
471+
@skip_if_not_supported
475472
@unittest.skipIf(sys.platform == "linux" and not PROCESS_VM_READV_SUPPORTED,
476473
"Test only runs on Linux with process_vm_readv support")
477474
def test_self_trace(self):

Makefile.pre.in

Lines changed: 1 addition & 0 deletions

0 commit comments

Comments
 (0)