mirror of
https://github.com/python/cpython.git
synced 2026-01-08 00:12:42 +00:00
bpo-44133: Skip PyThread_get_thread_native_id() if not available (GH-30636)
test_capi.test_export_symbols() doesn't check if Python exports the "PyThread_get_thread_native_id" symbol if the _thread.get_native_id() function is not available (if the PY_HAVE_THREAD_NATIVE_ID macro is not defined).
This commit is contained in:
parent
ad6e640f91
commit
16901c0482
1 changed files with 7 additions and 1 deletions
|
|
@ -2,6 +2,7 @@
|
|||
# these are all functions _testcapi exports whose name begins with 'test_'.
|
||||
|
||||
from collections import OrderedDict
|
||||
import _thread
|
||||
import importlib.machinery
|
||||
import importlib.util
|
||||
import os
|
||||
|
|
@ -648,7 +649,11 @@ def test_export_symbols(self):
|
|||
# "PyThread_get_thread_native_id" symbols are exported by the Python
|
||||
# (directly by the binary, or via by the Python dynamic library).
|
||||
ctypes = import_helper.import_module('ctypes')
|
||||
names = ['PyThread_get_thread_native_id']
|
||||
names = []
|
||||
|
||||
# Test if the PY_HAVE_THREAD_NATIVE_ID macro is defined
|
||||
if hasattr(_thread, 'get_native_id'):
|
||||
names.append('PyThread_get_thread_native_id')
|
||||
|
||||
# Python/frozenmain.c fails to build on Windows when the symbols are
|
||||
# missing:
|
||||
|
|
@ -657,6 +662,7 @@ def test_export_symbols(self):
|
|||
# - PyInitFrozenExtensions
|
||||
if os.name != 'nt':
|
||||
names.append('Py_FrozenMain')
|
||||
|
||||
for name in names:
|
||||
with self.subTest(name=name):
|
||||
self.assertTrue(hasattr(ctypes.pythonapi, name))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue