diff options
author | Trevor Gamblin <tgamblin@baylibre.com> | 2023-07-11 13:25:45 -0400 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-07-14 17:31:05 +0100 |
commit | 3937a63cbb4a32df57405963806029eebda970e6 (patch) | |
tree | 2d316df2cd291f3db0bdee058e357b68e97fd351 | |
parent | 832c59d8b896f1cffae38bd5d51e4d38b5af426d (diff) | |
download | poky-3937a63cbb4a32df57405963806029eebda970e6.tar.gz |
python3: parallelize ptests, add test_cppext dependencies
This is based on a previous patch from Alex Kanavin (thanks Alex),
but it retains our use of sed to parse the test output into a usable
form. The intent was to use the test module's --junit-xml feature and
parse the resulting log instead of using sed, but various errors were
encountered when testing this method, so that will need further
investigation before we can consider adopting it. Two missing ptest
dependencies on python3-cgitb and python3-zipapp were already merged
in a previous patch, so only gcc, g++, and binutils were left to add
as ptest RDEPENDS.
ptest output and runtime with this change:
== Tests result: SUCCESS ==
405 tests OK.
29 tests skipped:
test_asdl_parser test_check_c_globals test_clinic test_curses
test_devpoll test_gdb test_idle test_ioctl test_kqueue
test_launcher test_msilib test_ossaudiodev test_readline
test_smtpnet test_socketserver test_startfile test_tcl test_tix
test_tk test_ttk_guionly test_ttk_textonly test_turtle
test_urllib2net test_urllibnet test_winconsoleio test_winreg
test_winsound test_xmlrpc_net test_zipfile64
Total duration: 5 min 3 sec
[YOCTO #13298]
(From OE-Core rev: 50a719d3002a4119e8b2be43aec8fe01aa0c2a40)
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-core/images/core-image-ptest.bb | 1 | ||||
-rw-r--r-- | meta/recipes-devtools/python/python3/run-ptest | 2 | ||||
-rw-r--r-- | meta/recipes-devtools/python/python3_3.11.4.bb | 2 |
3 files changed, 3 insertions, 2 deletions
diff --git a/meta/recipes-core/images/core-image-ptest.bb b/meta/recipes-core/images/core-image-ptest.bb index ddc56c8f9f..74cf933b72 100644 --- a/meta/recipes-core/images/core-image-ptest.bb +++ b/meta/recipes-core/images/core-image-ptest.bb | |||
@@ -26,6 +26,7 @@ IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-lttng-tools = "1524288" | |||
26 | # ptests need more memory than standard to avoid the OOM killer | 26 | # ptests need more memory than standard to avoid the OOM killer |
27 | QB_MEM = "-m 1024" | 27 | QB_MEM = "-m 1024" |
28 | QB_MEM:virtclass-mcextend-lttng-tools = "-m 4096" | 28 | QB_MEM:virtclass-mcextend-lttng-tools = "-m 4096" |
29 | QB_MEM:virtclass-mcextend-python3 = "-m 2048" | ||
29 | QB_MEM:virtclass-mcextend-python3-cryptography = "-m 4096" | 30 | QB_MEM:virtclass-mcextend-python3-cryptography = "-m 4096" |
30 | 31 | ||
31 | TEST_SUITES = "ping ssh parselogs ptest" | 32 | TEST_SUITES = "ping ssh parselogs ptest" |
diff --git a/meta/recipes-devtools/python/python3/run-ptest b/meta/recipes-devtools/python/python3/run-ptest index 05396e91ab..ee1130284b 100644 --- a/meta/recipes-devtools/python/python3/run-ptest +++ b/meta/recipes-devtools/python/python3/run-ptest | |||
@@ -1,3 +1,3 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | 2 | ||
3 | SETUPTOOLS_USE_DISTUTILS=nonlocal python3 -m test -v | sed -u -e '/\.\.\. ok/ s/^/PASS: /g' -r -e '/\.\.\. (ERROR|FAIL)/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g' | 3 | SETUPTOOLS_USE_DISTUTILS=nonlocal python3 -m test -v -j 4 | sed -u -e '/\.\.\. ok/ s/^/PASS: /g' -r -e '/\.\.\. (ERROR|FAIL)/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g' |
diff --git a/meta/recipes-devtools/python/python3_3.11.4.bb b/meta/recipes-devtools/python/python3_3.11.4.bb index 86ecc4e297..2d7b1bac2c 100644 --- a/meta/recipes-devtools/python/python3_3.11.4.bb +++ b/meta/recipes-devtools/python/python3_3.11.4.bb | |||
@@ -426,7 +426,7 @@ FILES:${PN}-man = "${datadir}/man" | |||
426 | # See https://bugs.python.org/issue18748 and https://bugs.python.org/issue37395 | 426 | # See https://bugs.python.org/issue18748 and https://bugs.python.org/issue37395 |
427 | RDEPENDS:libpython3:append:libc-glibc = " libgcc" | 427 | RDEPENDS:libpython3:append:libc-glibc = " libgcc" |
428 | RDEPENDS:${PN}-ctypes:append:libc-glibc = " ${MLPREFIX}ldconfig" | 428 | RDEPENDS:${PN}-ctypes:append:libc-glibc = " ${MLPREFIX}ldconfig" |
429 | RDEPENDS:${PN}-ptest = "${PN}-modules ${PN}-tests ${PN}-dev ${PN}-cgitb ${PN}-zipapp unzip bzip2 libgcc tzdata coreutils sed" | 429 | RDEPENDS:${PN}-ptest = "${PN}-modules ${PN}-tests ${PN}-dev ${PN}-cgitb ${PN}-zipapp unzip bzip2 libgcc tzdata coreutils sed gcc g++ binutils" |
430 | RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-fr-fr locale-base-en-us locale-base-tr-tr locale-base-de-de" | 430 | RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-fr-fr locale-base-en-us locale-base-tr-tr locale-base-de-de" |
431 | RDEPENDS:${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${MLPREFIX}tk ${MLPREFIX}tk-lib', '', d)}" | 431 | RDEPENDS:${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${MLPREFIX}tk ${MLPREFIX}tk-lib', '', d)}" |
432 | RDEPENDS:${PN}-idle += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${PN}-tkinter ${MLPREFIX}tcl', '', d)}" | 432 | RDEPENDS:${PN}-idle += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${PN}-tkinter ${MLPREFIX}tcl', '', d)}" |