libnl: clean up ptest

libnl builds lots of test-* binaries but these are for manual testing
purposes.  Instead, the test suite is entirely contained in the
check-all binary.

Clean up the compilation by simply building check-all, and install it
with libtool so the binary is installed correctly.

There is no need to RDEPEND on libcheck as that happens automatically,
and the rpath workaround appears to be obsolete.

Finally rewrite run-ptest to invoke the test directly, and use the new
automake-style output that has been added to libcheck.

(From OE-Core rev: d500c46754ad8e8e3736c64b5b2e29039019fe88)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2023-05-19 15:38:45 +01:00
committed by Richard Purdie
parent 16b0f2d54e
commit 7ba5011adf
3 changed files with 6 additions and 60 deletions

View File

@@ -1,29 +0,0 @@
From b1476d89bf7a0bc6062438731ee4e9026696328b Mon Sep 17 00:00:00 2001
From: Eric Xu <chi.xu@windriver.com>
Date: Fri, 9 Mar 2018 03:38:49 +0000
Subject: [PATCH] Add ptest for libnl
serial-tests is required to generate those targets.
Upstream-Status: Inappropriate [oe-specific]
Signed-off-by: Eric Xu <chi.xu@windriver.com>
---
configure.ac | 2 +-
1 files changed, 1 insertion(+), 1 deletions(-)
diff --git a/configure.ac b/configure.ac
index dfead98..2cc8257 100644
--- a/configure.ac
+++ b/configure.ac
@@ -46,7 +46,7 @@ AC_INIT(libnl, [libnl_version], [], [], [http://www.infradead.org/~tgr/libnl/])
AC_CONFIG_HEADERS([lib/defs.h])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIR([m4])
-AM_INIT_AUTOMAKE([-Wall foreign subdir-objects])
+AM_INIT_AUTOMAKE([-Wall foreign subdir-objects serial-tests])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES(yes)], [])
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
--
2.13.3

View File

@@ -1,16 +1,3 @@
#!/bin/sh
#! /bin/sh
num_fail=0
for test in check*
do
./"$test" \
&& echo "PASS: $test" \
|| {
echo "FAIL: $test"
num_fail=$(( ${num_fail} + 1))
}
done
exit $num_fail
CK_AUTOMAKE=1 ./check-all

View File

@@ -15,7 +15,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
DEPENDS = "flex-native bison-native"
SRC_URI = "${GITHUB_BASE_URI}/download/${BPN}${@d.getVar('PV').replace('.','_')}/${BP}.tar.gz \
file://enable-serial-tests.patch \
file://run-ptest \
"
@@ -51,26 +50,15 @@ FILES:${PN}-xfrm = "${libdir}/libnl-xfrm-3.so.*"
RREPLACES:${PN}-genl = "libnl-genl2"
RCONFLICTS:${PN}-genl = "libnl-genl2"
RDEPENDS:${PN}-ptest += "libcheck"
RRECOMMENDS:${PN}-ptest += "kernel-module-dummy kernel-module-bonding"
DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'libcheck', '', d)}"
# make sure the tests don't link against wrong so file
EXTRA_OECONF += "${@bb.utils.contains('PTEST_ENABLED', '1', '--disable-rpath', '', d)}"
RRECOMMENDS:${PN}-ptest += "kernel-module-dummy kernel-module-bonding"
do_compile_ptest() {
# hack to remove the call to `make runtest-TESTS`
sed -i 's/$(MAKE) $(AM_MAKEFLAGS) runtest-TESTS//g' Makefile
oe_runmake check
oe_runmake ./tests/check-all
}
do_install_ptest(){
# legacy? tests are also installed, but ptest-runner will not run them
# upstream are not running these tests in their CI pipeline
# issue opened https://github.com/thom311/libnl/issues/270
install -m 0755 tests/.libs/* ${D}${PTEST_PATH}/
# contains build paths
rm ${D}${PTEST_PATH}/*.la
do_install_ptest() {
./libtool install install ./tests/check-all ${D}${PTEST_PATH}/
}
BBCLASSEXTEND = "native nativesdk"