From: "Xu, Chi" <chi.xu@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: [PATCH v3] xz: Add ptest support
Date: Fri, 26 Jan 2024 13:48:20 +0800 [thread overview]
Message-ID: <20240126054820.1656852-1-chi.xu@windriver.com> (raw)
There are two types of cases: executables and POSIX shell scripts.
All test cases PASS.
Add xz-ptest to PTESTS_FAST because test duration less than 30s
on qemux86-64.
root@qemux86-64:~# ptest-runner xz
START: ptest-runner
2024-01-26T03:32
BEGIN: /usr/lib/xz/ptest
=== test_bcj_exact_size.c ===
PASS: test_exact_size
PASS: test_empty_block
---
=== END ===
...
=== test_vli.c ===
PASS: test_lzma_vli_size
PASS: test_lzma_vli_encode
PASS: test_lzma_vli_decode
---
=== END ===
PASS: test_files.sh
PASS: test_scripts.sh
PASS: test_compress.sh
DURATION: 18
END: /usr/lib/xz/ptest
2024-01-26T03:33
STOP: ptest-runner
TOTAL: 1 FAIL: 0
Signed-off-by: Xu, Chi <chi.xu@windriver.com>
---
.../distro/include/ptest-packagelists.inc | 1 +
meta/recipes-extended/xz/xz/run-ptest | 26 +++++++++++++++++
meta/recipes-extended/xz/xz_5.4.5.bb | 28 +++++++++++++++++--
3 files changed, 53 insertions(+), 2 deletions(-)
create mode 100644 meta/recipes-extended/xz/xz/run-ptest
diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index a1643c5548..68a3f63a6a 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -77,6 +77,7 @@ PTESTS_FAST = "\
sed \
slang \
wayland \
+ xz \
zlib \
libexif \
"
diff --git a/meta/recipes-extended/xz/xz/run-ptest b/meta/recipes-extended/xz/xz/run-ptest
new file mode 100644
index 0000000000..cc8ba92016
--- /dev/null
+++ b/meta/recipes-extended/xz/xz/run-ptest
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+ptestdir=$(dirname "$(readlink -f "$0")")
+cd "$ptestdir"/tests || exit
+
+# executables test cases
+tests_exec=$(file $(ls test_*) | grep "ELF" | awk -F: '{print $1}')
+for i in ${tests_exec}; do
+ ./$i
+done
+
+# POSIX shell script test cases
+export srcdir=${ptestdir}/tests
+test_shell="test_files.sh test_scripts.sh test_compress.sh"
+for j in ${test_shell}; do
+ if [ $j == "test_compress.sh" ]; then
+ ./$j create_compress_files
+ else
+ ./$j
+ fi
+ if [ $? -eq 0 ]; then
+ echo "PASS: $j"
+ else
+ echo "FAIL: $j"
+ fi
+done
diff --git a/meta/recipes-extended/xz/xz_5.4.5.bb b/meta/recipes-extended/xz/xz_5.4.5.bb
index 09eade8be0..0f0849c3e5 100644
--- a/meta/recipes-extended/xz/xz_5.4.5.bb
+++ b/meta/recipes-extended/xz/xz_5.4.5.bb
@@ -24,13 +24,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c8ea84ebe7b93cce676b54355dc6b2c0 \
file://lib/getopt.c;endline=23;md5=2069b0ee710572c03bb3114e4532cd84 \
"
-SRC_URI = "https://tukaani.org/xz/xz-${PV}.tar.gz"
+SRC_URI = "https://tukaani.org/xz/xz-${PV}.tar.gz \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'file://run-ptest', '', d)} \
+ "
SRC_URI[sha256sum] = "135c90b934aee8fbc0d467de87a05cb70d627da36abe518c357a873709e5b7d6"
UPSTREAM_CHECK_REGEX = "xz-(?P<pver>\d+(\.\d+)+)\.tar"
CACHED_CONFIGUREVARS += "gl_cv_posix_shell=/bin/sh"
-inherit autotools gettext
+inherit autotools gettext ptest
PACKAGES =+ "liblzma"
@@ -42,3 +44,25 @@ ALTERNATIVE:${PN} = "xz xzcat unxz \
lzma lzcat unlzma"
BBCLASSEXTEND = "native nativesdk"
+
+RDEPENDS:${PN}-ptest += "bash file"
+
+do_compile_ptest() {
+ oe_runmake check TESTS=
+}
+
+do_install_ptest () {
+ install -d ${D}${PTEST_PATH}/tests
+ find ${B}/tests/.libs -type f -executable -exec cp {} ${D}${PTEST_PATH}/tests \;
+ cp ${B}/config.h ${D}${PTEST_PATH}
+ for i in files xzgrep_expected_output test_files.sh test_scripts.sh test_compress.sh; do
+ cp -r ${S}/tests/$i ${D}${PTEST_PATH}/tests
+ done
+ mkdir -p ${D}${PTEST_PATH}/src/xz
+ ln -s ${bindir}/xz ${D}${PTEST_PATH}/src/xz/xz
+ mkdir -p ${D}${PTEST_PATH}/src/xzdec
+ ln -s ${bindir}/xzdec ${D}${PTEST_PATH}/src/xzdec/xzdec
+ mkdir -p ${D}${PTEST_PATH}/src/scripts
+ ln -s ${bindir}/xzdiff ${D}${PTEST_PATH}/src/scripts/xzdiff
+ ln -s ${bindir}/xzgrep ${D}${PTEST_PATH}/src/scripts/xzgrep
+}
--
2.25.1
next reply other threads:[~2024-01-26 5:48 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-26 5:48 Xu, Chi [this message]
2024-02-03 21:23 ` [OE-core] [PATCH v3] xz: Add ptest support Alexandre Belloni
2024-02-05 6:10 ` Xu, Chi
2024-02-05 6:39 ` Yoann CONGAL
2024-02-05 15:13 ` Alexander Kanavin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240126054820.1656852-1-chi.xu@windriver.com \
--to=chi.xu@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox