summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools
diff options
context:
space:
mode:
authorTrevor Gamblin <tgamblin@baylibre.com>2025-04-29 14:38:01 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-05-01 14:22:53 +0100
commit0cb7199a8d5b55b624e3862cfbc639ec400ddfc7 (patch)
tree09ac65b3951a19d9dde16dd5f141bcdc7d54d0e6 /meta/recipes-devtools
parent98889f60cc51d2cc39322e0ec75fba8e3b390e91 (diff)
downloadpoky-0cb7199a8d5b55b624e3862cfbc639ec400ddfc7.tar.gz
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>
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r--meta/recipes-devtools/python/python3-numpy/run-ptest16
-rw-r--r--meta/recipes-devtools/python/python3-numpy_2.2.5.bb32
2 files changed, 31 insertions, 17 deletions
diff --git a/meta/recipes-devtools/python/python3-numpy/run-ptest b/meta/recipes-devtools/python/python3-numpy/run-ptest
index 9a1c72aeb1..6e76dffc59 100644
--- a/meta/recipes-devtools/python/python3-numpy/run-ptest
+++ b/meta/recipes-devtools/python/python3-numpy/run-ptest
@@ -1,5 +1,15 @@
1#!/usr/bin/env python3 1#!/bin/sh
2 2
3import numpy 3# By default, numpy will use /tmp as the root path for temporary files used
4numpy.test(label='full', verbose=2) 4# during tests, but if this is a tmpfs it may fill up quickly and cause many of
5# the tests to report "no space left on device" errors. Create a custom
6# directory for these and point pytest at it so we can take advantage of the
7# storage provided in the rootfs.
8export PYTEST_DEBUG_TEMPROOT="/usr/lib/python3-numpy/ptest/tmp"
9mkdir -p "$PYTEST_DEBUG_TEMPROOT"
5 10
11# test_mem_policy fails if there's no C compiler present, but we don't want to
12# include gcc as a ptest dependency, so skip that. test_big_arrays uses up a
13# large amount of storage, so skip that too.
14pytest --automake -m "not slow" -k "not test_mem_policy and not test_big_arrays" /usr/lib/python3.*/site-packages/numpy
15rm -rf "$PYTEST_DEBUG_TEMPROOT"
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 c6a37c0a85..f963e15b83 100644
--- a/meta/recipes-devtools/python/python3-numpy_2.2.5.bb
+++ b/meta/recipes-devtools/python/python3-numpy_2.2.5.bb
@@ -41,32 +41,36 @@ FILES:${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/numpy/_core/lib/*.a \
41" 41"
42 42
43# install what is needed for numpy.test() 43# install what is needed for numpy.test()
44RDEPENDS:${PN} = "python3-unittest \ 44RDEPENDS:${PN} = "\
45 python3-compression \
46 python3-ctypes \
47 python3-datetime \
45 python3-difflib \ 48 python3-difflib \
46 python3-pprint \
47 python3-pickle \
48 python3-shell \
49 python3-doctest \ 49 python3-doctest \
50 python3-datetime \ 50 python3-email \
51 python3-json \
51 python3-misc \ 52 python3-misc \
52 python3-mmap \ 53 python3-mmap \
54 python3-multiprocessing \
53 python3-netclient \ 55 python3-netclient \
54 python3-numbers \ 56 python3-numbers \
55 python3-pydoc \ 57 python3-pickle \
56 python3-pkgutil \ 58 python3-pkgutil \
57 python3-email \ 59 python3-pprint \
58 python3-compression \ 60 python3-pydoc \
59 python3-ctypes \ 61 python3-shell \
60 python3-threading \ 62 python3-threading \
61 python3-multiprocessing \ 63 python3-unittest \
62 python3-json \
63" 64"
64RDEPENDS:${PN}-ptest += "python3-pytest \ 65RDEPENDS:${PN}-ptest += "\
66 ldd \
67 meson \
65 python3-hypothesis \ 68 python3-hypothesis \
66 python3-sortedcontainers \ 69 python3-pytest \
67 python3-resource \ 70 python3-resource \
71 python3-sortedcontainers \
68 python3-typing-extensions \ 72 python3-typing-extensions \
69 ldd \ 73 python3-unittest-automake-output \
70" 74"
71 75
72BBCLASSEXTEND = "native nativesdk" 76BBCLASSEXTEND = "native nativesdk"