From: Khem Raj Date: Fri, 22 Aug 2025 18:33:52 +0000 (-0700) Subject: python3: Address failing ptests on musl X-Git-Tag: uninative-5.0~470 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c197de49d6b406be5fc79b6e17c397c834efc1b0;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git python3: Address failing ptests on musl Take a partial patch to disable portion of test_makedev, its also applied in alpine. NODEV does not exist on musl Add test_null_dlsym to ignore list on musl, it needs GNU ifunc support and musl does not implement GNU ifuncs fixes Failed ptests: {'python3': ['test_null_dlsym', 'test_makedev', 'python3']} Signed-off-by: Khem Raj Signed-off-by: Mathieu Dubois-Briand --- diff --git a/meta/recipes-devtools/python/python3/test_posix_nodev_disable.patch b/meta/recipes-devtools/python/python3/test_posix_nodev_disable.patch new file mode 100644 index 0000000000..85767e1e89 --- /dev/null +++ b/meta/recipes-devtools/python/python3/test_posix_nodev_disable.patch @@ -0,0 +1,16 @@ +Disable part of test_posix.test_makedev that depends on the NODEV +macro being defined (missing on musl). + +Upstream-Status: Submitted [https://github.com/python/cpython/pull/31794] +Signed-off-by: Khem Raj +--- a/Lib/test/test_posix.py ++++ b/Lib/test/test_posix.py +@@ -757,7 +757,7 @@ class PosixTester(unittest.TestCase): + self.assertRaises((ValueError, OverflowError), posix.makedev, x, minor) + self.assertRaises((ValueError, OverflowError), posix.makedev, major, x) + +- if sys.platform == 'linux': ++ if False: + NODEV = -1 + self.assertEqual(posix.major(NODEV), NODEV) + self.assertEqual(posix.minor(NODEV), NODEV) diff --git a/meta/recipes-devtools/python/python3_3.13.7.bb b/meta/recipes-devtools/python/python3_3.13.7.bb index 81d034bec6..2fe0ae1a8f 100644 --- a/meta/recipes-devtools/python/python3_3.13.7.bb +++ b/meta/recipes-devtools/python/python3_3.13.7.bb @@ -31,7 +31,9 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://0001-test_readline-skip-limited-history-test.patch \ file://0001-Generate-data-for-OpenSSL-3.4-and-add-it-to-multissl.patch \ " - +SRC_URI:append:libc-musl = "\ + file://test_posix_nodev_disable.patch \ + " SRC_URI:append:class-native = " \ file://0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch \ " @@ -247,7 +249,7 @@ do_install:append:class-nativesdk () { } do_install_ptest:append:class-target:libc-musl () { - sed -i -e 's|SKIPPED_TESTS=|SKIPPED_TESTS="-x test__locale -x test_c_locale_coercion -x test_locale -x test_os test_re -x test__xxsubinterpreters -x test_threading --ignore test.test_strptime.StrptimeTests.test_date_locale2"|' ${D}${PTEST_PATH}/run-ptest + sed -i -e 's|SKIPPED_TESTS=|SKIPPED_TESTS="-x test__locale -x test_c_locale_coercion -x test_locale -x test_os test_re -x test__xxsubinterpreters -x test_threading --ignore test.test_strptime.StrptimeTests.test_date_locale2 --ignore test.test_ctypes.test_dlerror.TestNullDlsym.test_null_dlsym"|' ${D}${PTEST_PATH}/run-ptest } SYSROOT_PREPROCESS_FUNCS:append:class-target = " provide_target_config_script"