mirror of
git://git.yoctoproject.org/poky
synced 2026-10-25 06:55:33 +00:00
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>
50 lines
1.8 KiB
BlitzBasic
50 lines
1.8 KiB
BlitzBasic
inherit features_check
|
|
REQUIRED_DISTRO_FEATURES = "ptest"
|
|
|
|
require core-image-minimal.bb
|
|
require conf/distro/include/ptest-packagelists.inc
|
|
|
|
DESCRIPTION += "Also including the ${MCNAME} ptest package."
|
|
SUMMARY ?= "${MCNAME} ptest image."
|
|
HOMEPAGE = "https://www.yoctoproject.org/"
|
|
|
|
PTESTS = "${PTESTS_SLOW} ${PTESTS_FAST}"
|
|
|
|
IMAGE_INSTALL:append = " ${MCNAME}-ptest openssh"
|
|
|
|
BBCLASSEXTEND = "${@' '.join(['mcextend:'+x for x in d.getVar('PTESTS').split()])}"
|
|
|
|
# The image can sufficiently large (~1.8GB) that we need to be careful that it fits in a live
|
|
# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the
|
|
# box) and explicitly add up to 1500MB.
|
|
# strace-ptest in particular needs more than 500MB
|
|
IMAGE_OVERHEAD_FACTOR = "1.0"
|
|
IMAGE_ROOTFS_EXTRA_SPACE = "324288"
|
|
IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-mdadm = "1524288"
|
|
IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-strace = "1524288"
|
|
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"
|
|
|
|
# Sadly at the moment the full set of ptests is not robust enough and sporadically fails in random places
|
|
PTEST_EXPECT_FAILURE = "1"
|
|
|
|
python () {
|
|
if not d.getVar("MCNAME"):
|
|
raise bb.parse.SkipRecipe("No class extension set")
|
|
}
|