summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDonghee Na <donghee.na@python.org>2024-09-02 13:24:53 (GMT)
committerGitHub <noreply@github.com>2024-09-02 13:24:53 (GMT)
commitf95fc4de115ae03d7aa6dece678240df085cb4f6 (patch)
tree9bed9cc5d3fc72bac8e85e9c5a7e92bb1cad70f4
parentf1a0d96f41db9dfa5d7f0b32e72f6f7301a86f91 (diff)
downloadcpython-f95fc4de115ae03d7aa6dece678240df085cb4f6.zip
cpython-f95fc4de115ae03d7aa6dece678240df085cb4f6.tar.gz
cpython-f95fc4de115ae03d7aa6dece678240df085cb4f6.tar.bz2
gh-101525: Skip test_gdb if the binary is relocated by BOLT. (gh-118572)
-rw-r--r--Lib/test/libregrtest/utils.py5
-rw-r--r--Lib/test/support/__init__.py9
-rw-r--r--Lib/test/test_gdb/__init__.py3
-rw-r--r--Misc/NEWS.d/next/Tests/2024-05-04-22-56-41.gh-issue-101525.LHK166.rst2
4 files changed, 19 insertions, 0 deletions
diff --git a/Lib/test/libregrtest/utils.py b/Lib/test/libregrtest/utils.py
index 2a34490..4956910 100644
--- a/Lib/test/libregrtest/utils.py
+++ b/Lib/test/libregrtest/utils.py
@@ -343,6 +343,11 @@ def get_build_info():
if support.check_cflags_pgo():
# PGO (--enable-optimizations)
optimizations.append('PGO')
+
+ if support.check_bolt_optimized():
+ # BOLT (--enable-bolt)
+ optimizations.append('BOLT')
+
if optimizations:
build.append('+'.join(optimizations))
diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
index 3149fd7..dbf479d 100644
--- a/Lib/test/support/__init__.py
+++ b/Lib/test/support/__init__.py
@@ -866,6 +866,15 @@ def check_cflags_pgo():
return any(option in cflags_nodist for option in pgo_options)
+def check_bolt_optimized():
+ # Always return false, if the platform is WASI,
+ # because BOLT optimization does not support WASM binary.
+ if is_wasi:
+ return False
+ config_args = sysconfig.get_config_var('CONFIG_ARGS') or ''
+ return '--enable-bolt' in config_args
+
+
Py_GIL_DISABLED = bool(sysconfig.get_config_var('Py_GIL_DISABLED'))
def requires_gil_enabled(msg="needs the GIL enabled"):
diff --git a/Lib/test/test_gdb/__init__.py b/Lib/test/test_gdb/__init__.py
index 9955773..0dd7217 100644
--- a/Lib/test/test_gdb/__init__.py
+++ b/Lib/test/test_gdb/__init__.py
@@ -24,6 +24,9 @@ if not sysconfig.is_python_build():
if support.check_cflags_pgo():
raise unittest.SkipTest("test_gdb is not reliable on PGO builds")
+if support.check_bolt_optimized():
+ raise unittest.SkipTest("test_gdb is not reliable on BOLT optimized builds")
+
def load_tests(*args):
return support.load_package_tests(os.path.dirname(__file__), *args)
diff --git a/Misc/NEWS.d/next/Tests/2024-05-04-22-56-41.gh-issue-101525.LHK166.rst b/Misc/NEWS.d/next/Tests/2024-05-04-22-56-41.gh-issue-101525.LHK166.rst
new file mode 100644
index 0000000..ae8001a
--- /dev/null
+++ b/Misc/NEWS.d/next/Tests/2024-05-04-22-56-41.gh-issue-101525.LHK166.rst
@@ -0,0 +1,2 @@
+Skip ``test_gdb`` if the binary is relocated by BOLT.
+Patch by Donghee Na.