From 590c3731d8c4222b5bc01d2267b829876a71e67a Mon Sep 17 00:00:00 2001 From: mayeut Date: Sun, 21 Jun 2026 19:14:57 +0200 Subject: [PATCH 1/2] chore: move blacklisted symbol test to a bundled wheel --- tests/integration/test_bundled_wheels.py | 41 ++++++++++++++++ tests/integration/test_manylinux.py | 26 ---------- ...estzlib-0.0.1-cp310-cp310-linux_x86_64.whl | Bin 0 -> 13415 bytes tests/integration/testzlib/pyproject.toml | 3 -- tests/integration/testzlib/setup.py | 19 -------- tests/integration/testzlib/testzlib.c | 46 ------------------ 6 files changed, 41 insertions(+), 94 deletions(-) create mode 100644 tests/integration/testzlib-0.0.1-cp310-cp310-linux_x86_64.whl delete mode 100644 tests/integration/testzlib/pyproject.toml delete mode 100644 tests/integration/testzlib/setup.py delete mode 100644 tests/integration/testzlib/testzlib.c diff --git a/tests/integration/test_bundled_wheels.py b/tests/integration/test_bundled_wheels.py index e7bb52f7..78f11c66 100644 --- a/tests/integration/test_bundled_wheels.py +++ b/tests/integration/test_bundled_wheels.py @@ -277,3 +277,44 @@ def test_weak_symbols_not_blacklisted() -> None: assert result.policies.libc == Libc.GLIBC assert result.policies.architecture == Architecture.x86_64 assert result.overall_policy.name == "manylinux_2_17_x86_64" + + +def test_symbol_blacklist( + monkeypatch: pytest.MonkeyPatch, + capsys: pytest.CaptureFixture[str], +) -> None: + # wheel built using main@dda40c214e3db607b6ab31cd4cf9e3e5e1347937 + # AUDITWHEEL_ARCH=x86_64 nox -s tests-3.10 -- \ + # 'tests/integration/test_manylinux.py::TestManylinux::test_zlib_blacklist[manylinux_2_12]' + wheel = HERE / "testzlib-0.0.1-cp310-cp310-linux_x86_64.whl" + result = analyze_wheel_abi( + None, + None, + wheel, + frozenset(), + disable_isa_ext_check=False, + allow_graft=False, + ) + assert result.policies.libc == Libc.GLIBC + assert result.policies.architecture == Architecture.x86_64 + assert result.overall_policy.name == "linux_x86_64" + assert result.blacklist_policy.name == "linux_x86_64" + assert result.sym_policy.name == "manylinux_2_12_x86_64" + assert result.graft_policy.name == "manylinux_2_5_x86_64" + assert result.machine_policy.name == "manylinux_2_5_x86_64" + assert result.pyfpe_policy.name == "manylinux_2_5_x86_64" + assert result.ref_policy.name == "manylinux_2_5_x86_64" + assert result.ucs_policy.name == "manylinux_2_5_x86_64" + + monkeypatch.setattr(sys, "platform", "linux") + monkeypatch.setattr(Architecture, "detect", lambda: Architecture.x86_64) + monkeypatch.setattr(sys, "argv", ["auditwheel", "repair", str(wheel)]) + with pytest.raises(SystemExit): + main() + captured = capsys.readouterr() + assert " because it depends on black-listed symbols" in captured.err.replace("\n", " ") + + monkeypatch.setattr(sys, "argv", ["auditwheel", "-v", "show", str(wheel)]) + main() + captured = capsys.readouterr() + assert "black-listed symbol dependencies" in captured.out.replace("\n", " ") diff --git a/tests/integration/test_manylinux.py b/tests/integration/test_manylinux.py index b437c65b..78e0ef81 100644 --- a/tests/integration/test_manylinux.py +++ b/tests/integration/test_manylinux.py @@ -1206,32 +1206,6 @@ def test_mvec(self, anylinux: AnyLinuxContainer, python: PythonContainer) -> Non # Test the resulting wheel outside the manylinux container python.install_wheel(repaired_wheel) - def test_zlib_blacklist(self, anylinux: AnyLinuxContainer) -> None: - policy = anylinux.policy - if policy.startswith( - ( - "manylinux_2_17_", - "manylinux_2_28_", - "manylinux_2_31_", - "manylinux_2_34_", - "manylinux_2_35_", - "manylinux_2_39_", - ), - ): - pytest.skip(f"{policy} image has no blacklist symbols in libz.so.1") - - test_path = "/auditwheel_src/tests/integration/testzlib" - orig_wheel = anylinux.build_wheel(test_path) - assert orig_wheel.startswith("testzlib-0.0.1") - - # Repair the wheel using the appropriate manylinux container - with pytest.raises(CalledProcessError): - anylinux.repair(orig_wheel) - - # Check auditwheel show warns about the black listed symbols - output = anylinux.show(orig_wheel, verbose=True) - assert "black-listed symbol dependencies" in output.replace("\n", " ") - @pytest.mark.skipif(PLATFORM != "aarch64", reason="glibc blacklist only for aarch64") def test_glibc_blacklist(self, anylinux: AnyLinuxContainer, python: PythonContainer) -> None: # https://github.com/pypa/auditwheel/issues/647 diff --git a/tests/integration/testzlib-0.0.1-cp310-cp310-linux_x86_64.whl b/tests/integration/testzlib-0.0.1-cp310-cp310-linux_x86_64.whl new file mode 100644 index 0000000000000000000000000000000000000000..b7bac53f45a8684ea9aa25201cf0bbc8456e64ea GIT binary patch literal 13415 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 Z|4mPMDR78?ya4{UB>rV|AJad2{|5>(oSFat literal 0 HcmV?d00001 diff --git a/tests/integration/testzlib/pyproject.toml b/tests/integration/testzlib/pyproject.toml deleted file mode 100644 index fed528d4..00000000 --- a/tests/integration/testzlib/pyproject.toml +++ /dev/null @@ -1,3 +0,0 @@ -[build-system] -requires = ["setuptools"] -build-backend = "setuptools.build_meta" diff --git a/tests/integration/testzlib/setup.py b/tests/integration/testzlib/setup.py deleted file mode 100644 index 02a97865..00000000 --- a/tests/integration/testzlib/setup.py +++ /dev/null @@ -1,19 +0,0 @@ -from __future__ import annotations - -from setuptools import Extension, setup - -define_macros = [("_GNU_SOURCE", None)] -libraries = ["z", "c"] - -setup( - name="testzlib", - version="0.0.1", - ext_modules=[ - Extension( - "testzlib", - sources=["testzlib.c"], - define_macros=define_macros, - libraries=libraries, - ), - ], -) diff --git a/tests/integration/testzlib/testzlib.c b/tests/integration/testzlib/testzlib.c deleted file mode 100644 index a048c50e..00000000 --- a/tests/integration/testzlib/testzlib.c +++ /dev/null @@ -1,46 +0,0 @@ -#include -#include -#include - - -static PyObject * -run(PyObject *self, PyObject *args) -{ - int res; - - (void)self; - (void)args; - -#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 24) - res = gzflags() != 0; -#elif defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 17) - /* blacklist ineffective on manylinux 2014 */ - res = 0; -#elif defined(__GLIBC_PREREQ) - { - void* memory = zcalloc(NULL, 1U, 1U); - res = (memory != NULL); - zcfree(NULL, memory); - } -#else - res = 0; -#endif - return PyLong_FromLong(res); -} - -/* Module initialization */ -PyMODINIT_FUNC PyInit_testzlib(void) -{ - static PyMethodDef module_methods[] = { - {"run", (PyCFunction)run, METH_NOARGS, "run."}, - {NULL} /* Sentinel */ - }; - static struct PyModuleDef moduledef = { - PyModuleDef_HEAD_INIT, - "testzlib", - "testzlib module", - -1, - module_methods, - }; - return PyModule_Create(&moduledef); -} From ecd250b41fe1abdc699d7c1f6a1225e01cd91abd Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 4 Jul 2026 07:49:39 +0200 Subject: [PATCH 2/2] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- tests/integration/test_bundled_wheels.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/test_bundled_wheels.py b/tests/integration/test_bundled_wheels.py index 78f11c66..8a47cb5c 100644 --- a/tests/integration/test_bundled_wheels.py +++ b/tests/integration/test_bundled_wheels.py @@ -315,6 +315,6 @@ def test_symbol_blacklist( assert " because it depends on black-listed symbols" in captured.err.replace("\n", " ") monkeypatch.setattr(sys, "argv", ["auditwheel", "-v", "show", str(wheel)]) - main() + assert main() == 0 captured = capsys.readouterr() assert "black-listed symbol dependencies" in captured.out.replace("\n", " ")