mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
xz: Add ptest support
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 (From OE-Core rev: 2704983f972e4fe1d4e0bee8491a07eb4f629346) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -77,6 +77,7 @@ PTESTS_FAST = "\
|
||||
sed \
|
||||
slang \
|
||||
wayland \
|
||||
xz \
|
||||
zlib \
|
||||
libexif \
|
||||
"
|
||||
|
||||
26
meta/recipes-extended/xz/xz/run-ptest
Normal file
26
meta/recipes-extended/xz/xz/run-ptest
Normal file
@@ -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
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user