Message ID | 20250424142918.3811330-1-tgamblin@baylibre.com |
---|---|
State | New |
Headers | show |
Series | [1/2] python3-numpy: upgrade 2.2.4 -> 2.2.5 | expand |
On 2025-04-24 10:29, Trevor Gamblin via lists.openembedded.org wrote: > Fix the numpy ptests by doing the following: > > - Add gcc and meson as ptest RDEPENDS in the recipe; For the record, I counted 10 tests that require a compiler to work, hence why gcc is added. > - Convert run-ptest to a shell script that sets PYTEST_DEBUG_TEMPROOT > to a directory inside the same path that contains the script, create > that directory, and then invoke the tests in the same manner as before > with 'python3 -c ...'; > - Add a patch to skip the test_big_arrays test, which uses a lot of > space; > - Set 'IMAGE_ROOTFS_EXTRA_SPACE = "3048576"' for python3-numpy in > core-image-ptest.bb; > - Also set 'QB_MEM:virtclass-mcextend-python3-numpy = "-m 4096"' in > core-image-ptest.bb; > - Move python3-numpy from the PTESTS_PROBLEMS list to the PTESTS_SLOW > one. > > Results on qemux86-64: > > |==== 47301 passed, 4171 skipped, 33 xfailed, 5 xpassed in 148.64s (0:02:28) ==== > |DURATION: 152 > |END: /usr/lib/python3-numpy/ptest > |2025-04-24T14:02 > |STOP: ptest-runner > |TOTAL: 1 FAIL: 0 > > Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> > --- > meta/conf/distro/include/ptest-packagelists.inc | 2 +- > meta/recipes-core/images/core-image-ptest.bb | 4 ++++ > .../recipes-devtools/python/python3-numpy/run-ptest | 13 +++++++++---- > meta/recipes-devtools/python/python3-numpy_2.2.5.bb | 3 +++ > 4 files changed, 17 insertions(+), 5 deletions(-) > > diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc > index f3fdededf66..2a27c0c5d41 100644 > --- a/meta/conf/distro/include/ptest-packagelists.inc > +++ b/meta/conf/distro/include/ptest-packagelists.inc > @@ -120,6 +120,7 @@ PTESTS_SLOW = "\ > python3-cffi \ > python3-click \ > python3-cryptography \ > + python3-numpy \ > python3-xmltodict \ > strace \ > tar \ > @@ -155,5 +156,4 @@ PTESTS_PROBLEMS = "\ > mdadm \ > numactl \ > python3-license-expression \ > - python3-numpy \ > " > diff --git a/meta/recipes-core/images/core-image-ptest.bb b/meta/recipes-core/images/core-image-ptest.bb > index a0ff8d9528e..e703e852123 100644 > --- a/meta/recipes-core/images/core-image-ptest.bb > +++ b/meta/recipes-core/images/core-image-ptest.bb > @@ -27,10 +27,14 @@ IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-lttng-tools = "1524288" > # tar-ptest in particular needs more space > IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-tar = "1524288" > > +# python3-numpy-ptest requires a lot of extra space > +IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-python3-numpy = "3048576" > + > # ptests need more memory than standard to avoid the OOM killer > QB_MEM = "-m 1024" > QB_MEM:virtclass-mcextend-lttng-tools = "-m 4096" > QB_MEM:virtclass-mcextend-python3 = "-m 2048" > +QB_MEM:virtclass-mcextend-python3-numpy = "-m 4096" > QB_MEM:virtclass-mcextend-python3-cryptography = "-m 5100" > QB_MEM:virtclass-mcextend-tcl = "-m 5100" > > diff --git a/meta/recipes-devtools/python/python3-numpy/run-ptest b/meta/recipes-devtools/python/python3-numpy/run-ptest > index 9a1c72aeb10..47a647a8ea2 100644 > --- a/meta/recipes-devtools/python/python3-numpy/run-ptest > +++ b/meta/recipes-devtools/python/python3-numpy/run-ptest > @@ -1,5 +1,10 @@ > -#!/usr/bin/env python3 > - > -import numpy > -numpy.test(label='full', verbose=2) > +#!/bin/sh > > +# By default, numpy will use /tmp as the root path for temporary files used > +# during tests, but if this is a tmpfs it may fill up quickly and cause many of > +# the tests to report "no space left on device" errors. Create a custom > +# directory for these and point pytest at it so we can take advantage of the > +# storage provided in the rootfs. > +export PYTEST_DEBUG_TEMPROOT="/usr/lib/python3-numpy/ptest/tmp" > +mkdir -p /usr/lib/python3-numpy/ptest/tmp > +python3 -c "import numpy; numpy.test(label='full', verbose=2)" > diff --git a/meta/recipes-devtools/python/python3-numpy_2.2.5.bb b/meta/recipes-devtools/python/python3-numpy_2.2.5.bb > index c6a37c0a85f..b29c7c5b79d 100644 > --- a/meta/recipes-devtools/python/python3-numpy_2.2.5.bb > +++ b/meta/recipes-devtools/python/python3-numpy_2.2.5.bb > @@ -10,6 +10,7 @@ SRCNAME = "numpy" > SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${SRCNAME}-${PV}.tar.gz \ > file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \ > file://fix_reproducibility.patch \ > + file://0001-lib-tests-test_io-skip-test_big_arrays.patch \ > file://run-ptest \ > " > SRC_URI[sha256sum] = "a9c0d994680cd991b1cb772e8b297340085466a6fe964bc9d4e80f5e2f43c291" > @@ -67,6 +68,8 @@ RDEPENDS:${PN}-ptest += "python3-pytest \ > python3-resource \ > python3-typing-extensions \ > ldd \ > + meson \ > + gcc \ > " > > BBCLASSEXTEND = "native nativesdk" > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#215379): https://lists.openembedded.org/g/openembedded-core/message/215379 > Mute This Topic: https://lists.openembedded.org/mt/112433969/7611679 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [tgamblin@baylibre.com] > -=-=-=-=-=-=-=-=-=-=-=- >
diff --git a/meta/recipes-devtools/python/python3-numpy_2.2.4.bb b/meta/recipes-devtools/python/python3-numpy_2.2.5.bb similarity index 96% rename from meta/recipes-devtools/python/python3-numpy_2.2.4.bb rename to meta/recipes-devtools/python/python3-numpy_2.2.5.bb index a2ee2b48d46..c6a37c0a85f 100644 --- a/meta/recipes-devtools/python/python3-numpy_2.2.4.bb +++ b/meta/recipes-devtools/python/python3-numpy_2.2.5.bb @@ -12,7 +12,7 @@ SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${SRCNAME}-${PV}.tar.gz \ file://fix_reproducibility.patch \ file://run-ptest \ " -SRC_URI[sha256sum] = "9ba03692a45d3eef66559efe1d1096c4b9b75c0986b5dff5530c378fb8331d4f" +SRC_URI[sha256sum] = "a9c0d994680cd991b1cb772e8b297340085466a6fe964bc9d4e80f5e2f43c291" GITHUB_BASE_URI = "https://github.com/numpy/numpy/releases" UPSTREAM_CHECK_REGEX = "releases/tag/v?(?P<pver>\d+(\.\d+)+)$"
Changelog: https://github.com/numpy/numpy/blob/main/doc/changelog/2.2.5-changelog.rst Reproducibility looks OK: |2025-04-24 10:27:00,978 - oe-selftest - INFO - RESULTS - reproducible.ReproducibleTests.test_reproducible_builds: PASSED (1203.06s) |2025-04-24 10:27:00,985 - oe-selftest - INFO - SUMMARY: |2025-04-24 10:27:00,985 - oe-selftest - INFO - oe-selftest () - Ran 1 test in 1233.056s |2025-04-24 10:27:00,985 - oe-selftest - INFO - oe-selftest - OK - All required tests passed (successes=1, skipped=0, failures=0, errors=0) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> --- .../python/{python3-numpy_2.2.4.bb => python3-numpy_2.2.5.bb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename meta/recipes-devtools/python/{python3-numpy_2.2.4.bb => python3-numpy_2.2.5.bb} (96%)