mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00
python3-numpy: fix ptests
Fix the numpy ptests by doing the following: - Add meson to ptest RDEPENDS in the recipe; - Add python3-unittest-automake-output as a ptest RDEPENDS; - 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 with `pytest --automake` pointed at the numpy path in site-packages (copying the tests into the normal PTEST_DIRECTORY seems to cause module import breakages in some tests). This also includes skipping two problematic tests which require a C compiler and use up a lot of space, respectively; - 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: Testsuite summary DURATION: 87 END: /usr/lib/python3-numpy/ptest 2025-04-29T17:35 STOP: ptest-runner TOTAL: 1 FAIL: 0 Note that many of the skipped tests are due to the absence of python3-mypy (which is currently in meta-python) and of a Fortran compiler. (From OE-Core rev: 7f0b5e8faa1b246531ac425c99a629eb344b21e2) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
98889f60cc
commit
0cb7199a8d
|
@ -120,6 +120,7 @@ PTESTS_SLOW = "\
|
|||
python3-cffi \
|
||||
python3-click \
|
||||
python3-cryptography \
|
||||
python3-numpy \
|
||||
python3-xmltodict \
|
||||
strace \
|
||||
tar \
|
||||
|
@ -143,7 +144,6 @@ PTESTS_SLOW:append:libc-musl = " libc-test"
|
|||
# libpam \ # Needs pam DISTRO_FEATURE
|
||||
# mdadm \ # tests are flaky in AB.
|
||||
# numactl \ # qemu not (yet) configured for numa; all tests are skipped
|
||||
# python3-numpy \ # requires even more RAM and (possibly) disk space; multiple failures
|
||||
|
||||
PTESTS_PROBLEMS = "\
|
||||
ruby \
|
||||
|
@ -155,5 +155,4 @@ PTESTS_PROBLEMS = "\
|
|||
mdadm \
|
||||
numactl \
|
||||
python3-license-expression \
|
||||
python3-numpy \
|
||||
"
|
||||
|
|
|
@ -27,11 +27,15 @@ 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-cryptography = "-m 5100"
|
||||
QB_MEM:virtclass-mcextend-python3-numpy = "-m 4096"
|
||||
QB_MEM:virtclass-mcextend-tcl = "-m 5100"
|
||||
|
||||
TEST_SUITES = "ping ssh parselogs ptest"
|
||||
|
|
|
@ -1,5 +1,15 @@
|
|||
#!/usr/bin/env python3
|
||||
#!/bin/sh
|
||||
|
||||
import numpy
|
||||
numpy.test(label='full', verbose=2)
|
||||
# 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 "$PYTEST_DEBUG_TEMPROOT"
|
||||
|
||||
# test_mem_policy fails if there's no C compiler present, but we don't want to
|
||||
# include gcc as a ptest dependency, so skip that. test_big_arrays uses up a
|
||||
# large amount of storage, so skip that too.
|
||||
pytest --automake -m "not slow" -k "not test_mem_policy and not test_big_arrays" /usr/lib/python3.*/site-packages/numpy
|
||||
rm -rf "$PYTEST_DEBUG_TEMPROOT"
|
||||
|
|
|
@ -41,32 +41,36 @@ FILES:${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/numpy/_core/lib/*.a \
|
|||
"
|
||||
|
||||
# install what is needed for numpy.test()
|
||||
RDEPENDS:${PN} = "python3-unittest \
|
||||
python3-difflib \
|
||||
python3-pprint \
|
||||
python3-pickle \
|
||||
python3-shell \
|
||||
python3-doctest \
|
||||
python3-datetime \
|
||||
python3-misc \
|
||||
python3-mmap \
|
||||
python3-netclient \
|
||||
python3-numbers \
|
||||
python3-pydoc \
|
||||
python3-pkgutil \
|
||||
python3-email \
|
||||
RDEPENDS:${PN} = "\
|
||||
python3-compression \
|
||||
python3-ctypes \
|
||||
python3-threading \
|
||||
python3-multiprocessing \
|
||||
python3-datetime \
|
||||
python3-difflib \
|
||||
python3-doctest \
|
||||
python3-email \
|
||||
python3-json \
|
||||
python3-misc \
|
||||
python3-mmap \
|
||||
python3-multiprocessing \
|
||||
python3-netclient \
|
||||
python3-numbers \
|
||||
python3-pickle \
|
||||
python3-pkgutil \
|
||||
python3-pprint \
|
||||
python3-pydoc \
|
||||
python3-shell \
|
||||
python3-threading \
|
||||
python3-unittest \
|
||||
"
|
||||
RDEPENDS:${PN}-ptest += "python3-pytest \
|
||||
python3-hypothesis \
|
||||
python3-sortedcontainers \
|
||||
python3-resource \
|
||||
python3-typing-extensions \
|
||||
RDEPENDS:${PN}-ptest += "\
|
||||
ldd \
|
||||
meson \
|
||||
python3-hypothesis \
|
||||
python3-pytest \
|
||||
python3-resource \
|
||||
python3-sortedcontainers \
|
||||
python3-typing-extensions \
|
||||
python3-unittest-automake-output \
|
||||
"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
|
Loading…
Reference in New Issue
Block a user