diff options
author | Trevor Gamblin <tgamblin@baylibre.com> | 2025-04-29 14:38:01 -0400 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-05-01 14:22:53 +0100 |
commit | 0cb7199a8d5b55b624e3862cfbc639ec400ddfc7 (patch) | |
tree | 09ac65b3951a19d9dde16dd5f141bcdc7d54d0e6 /meta/recipes-devtools | |
parent | 98889f60cc51d2cc39322e0ec75fba8e3b390e91 (diff) | |
download | poky-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-ptest | 16 | ||||
-rw-r--r-- | meta/recipes-devtools/python/python3-numpy_2.2.5.bb | 32 |
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 | ||
3 | import numpy | 3 | # By default, numpy will use /tmp as the root path for temporary files used |
4 | numpy.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. | ||
8 | export PYTEST_DEBUG_TEMPROOT="/usr/lib/python3-numpy/ptest/tmp" | ||
9 | mkdir -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. | ||
14 | pytest --automake -m "not slow" -k "not test_mem_policy and not test_big_arrays" /usr/lib/python3.*/site-packages/numpy | ||
15 | rm -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() |
44 | RDEPENDS:${PN} = "python3-unittest \ | 44 | RDEPENDS:${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 | " |
64 | RDEPENDS:${PN}-ptest += "python3-pytest \ | 65 | RDEPENDS:${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 | ||
72 | BBCLASSEXTEND = "native nativesdk" | 76 | BBCLASSEXTEND = "native nativesdk" |