mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-05 02:50:46 +00:00
oniguruma: enable ptest
All tests (with 3400 subtests) are passing (on musl+arm). Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
+36
@@ -0,0 +1,36 @@
|
||||
From 8bf8189ec4a0d7ee569f66feb0e590e9602c31b6 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
|
||||
Date: Mon, 6 Jan 2020 15:10:30 +0000
|
||||
Subject: [PATCH] build: enable serial-tests automake option (for ptest)
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
For ptest, we need to be able to compile the tests without
|
||||
running them.
|
||||
|
||||
Enabling the serial-tests automake option will add
|
||||
buildtest-TESTS and runtest-TESTS makefile targets, the
|
||||
former being what we want.
|
||||
|
||||
Signed-off-by: André Draszik <git@andred.net>
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ac51e85..48e63ce 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3,7 +3,7 @@ AC_INIT(onig, 6.9.4)
|
||||
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
|
||||
-AM_INIT_AUTOMAKE([-Wno-portability])
|
||||
+AM_INIT_AUTOMAKE([-Wno-portability serial-tests])
|
||||
AC_CONFIG_HEADERS([src/config.h])
|
||||
|
||||
|
||||
--
|
||||
2.23.0.rc1
|
||||
|
||||
Executable
+47
@@ -0,0 +1,47 @@
|
||||
#!/bin/sh -eu
|
||||
|
||||
my_cleanup() {
|
||||
[ -n "${workdir:-}" ] && rm -rf "${workdir}"
|
||||
}
|
||||
|
||||
trap "my_cleanup" EXIT
|
||||
for sig in INT TERM ; do
|
||||
# We want sig to expand right here and now, as it's
|
||||
# a loop variable, not when signalled. For $$ it
|
||||
# doesn't matter.
|
||||
# shellcheck disable=SC2064
|
||||
trap "my_cleanup ; trap - EXIT ; trap - ${sig} ; kill -s ${sig} $$" ${sig}
|
||||
done
|
||||
|
||||
workdir=$(mktemp -d -t onig.ptest.XXXXXX)
|
||||
status="${workdir}/failed"
|
||||
touch "${status}"
|
||||
|
||||
find tests/ -perm -111 -type f -exec sh -c '
|
||||
workdir="${1}"
|
||||
status="${2}"
|
||||
t="${3}"
|
||||
t_log="${workdir}/$(basename ${t}).log"
|
||||
|
||||
res=0
|
||||
./${t} > "${t_log}" 2>&1 \
|
||||
|| res=$?
|
||||
if [ $res -eq 0 ] ; then
|
||||
echo "PASS: ${t}"
|
||||
else
|
||||
echo "FAIL: ${t}"
|
||||
echo "$(basename ${t}): ${t_log}" >> "${status}"
|
||||
fi
|
||||
' _ "${workdir}" "${status}" {} \;
|
||||
|
||||
if [ $(stat -c '%s' "${status}") -ne 0 ] ; then
|
||||
exec >&2
|
||||
while IFS=': ' read -r t t_log ; do
|
||||
printf "\n=========================\n"
|
||||
printf "ERROR: %s:\n" "${t}"
|
||||
printf -- "-------------------------\n"
|
||||
cat "${t_log}"
|
||||
done < "${status}"
|
||||
fi
|
||||
|
||||
[ $(stat -c '%s' "${status}") -eq 0 ]
|
||||
@@ -10,6 +10,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=1ee043784bdce7503e619b2d1a85798b"
|
||||
SRC_URI = "\
|
||||
https://github.com/kkos/oniguruma/releases/download/v${PV}/${BP}.tar.gz \
|
||||
file://0001-build-don-t-link-against-host-system-libraries.patch \
|
||||
file://0001-build-enable-serial-tests-automake-option-for-ptest.patch \
|
||||
file://run-ptest \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "a12d2fe997b789bd87cf63799c091879"
|
||||
@@ -17,6 +19,14 @@ SRC_URI[sha256sum] = "4669d22ff7e0992a7e93e116161cac9c0949cd8960d1c562982026726f
|
||||
|
||||
BINCONFIG = "${bindir}/onig-config"
|
||||
|
||||
inherit autotools binconfig-disabled
|
||||
inherit autotools binconfig-disabled ptest
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
|
||||
do_compile_ptest() {
|
||||
oe_runmake -C test buildtest-TESTS
|
||||
}
|
||||
|
||||
do_install_ptest() {
|
||||
install -Dm0755 -t ${D}${PTEST_PATH}/tests/ ${B}/test/.libs/*
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user