From 89f4fa7af883a2853783c763ddf632e8e19fa2cd Mon Sep 17 00:00:00 2001 From: "Jeong, YunWon" Date: Fri, 12 Dec 2025 16:11:33 +0900 Subject: [PATCH] Make test_inspect _pickle requirements optional --- Lib/test/test_inspect/test_inspect.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_inspect/test_inspect.py b/Lib/test/test_inspect/test_inspect.py index 075e1802bebc3e..808df43adbdb6c 100644 --- a/Lib/test/test_inspect/test_inspect.py +++ b/Lib/test/test_inspect/test_inspect.py @@ -13,7 +13,6 @@ import os import dis from os.path import normcase -import _pickle import pickle import shutil import stat @@ -29,6 +28,12 @@ import warnings import weakref +try: + import _pickle + MISSING_C_PICKLE = False +except ImportError: + MISSING_C_PICKLE = True + try: from concurrent.futures import ThreadPoolExecutor @@ -1410,6 +1415,7 @@ def test(): pass @unittest.skipIf(MISSING_C_DOCSTRINGS, "Signature information for builtins requires docstrings") + @unittest.skipIf(MISSING_C_PICKLE, "requires _pickle") def test_getfullargspec_builtin_methods(self): self.assertFullArgSpecEquals(_pickle.Pickler.dump, ['self', 'obj']) @@ -4635,6 +4641,7 @@ class D(C): pass @unittest.skipIf(MISSING_C_DOCSTRINGS, "Signature information for builtins requires docstrings") + @unittest.skipIf(MISSING_C_PICKLE, "requires _pickle") def test_signature_on_builtin_class(self): expected = ('(file, protocol=None, fix_imports=True, ' 'buffer_callback=None)') @@ -5176,6 +5183,7 @@ class foo: pass @unittest.skipIf(MISSING_C_DOCSTRINGS, "Signature information for builtins requires docstrings") + @unittest.skipIf(MISSING_C_PICKLE, "requires _pickle") def test_signature_from_callable_builtin_obj(self): class MySignature(inspect.Signature): pass sig = MySignature.from_callable(_pickle.Pickler)