From: Ross Burton <[email protected]>

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.

Signed-off-by: Ross Burton <[email protected]>
---
 .../libnl/files/enable-serial-tests.patch     | 29 -------------------
 meta/recipes-support/libnl/files/run-ptest    | 17 ++---------
 meta/recipes-support/libnl/libnl_3.7.0.bb     | 20 +++----------
 3 files changed, 6 insertions(+), 60 deletions(-)
 delete mode 100644 meta/recipes-support/libnl/files/enable-serial-tests.patch

diff --git a/meta/recipes-support/libnl/files/enable-serial-tests.patch 
b/meta/recipes-support/libnl/files/enable-serial-tests.patch
deleted file mode 100644
index db774ad8217..00000000000
--- a/meta/recipes-support/libnl/files/enable-serial-tests.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From b1476d89bf7a0bc6062438731ee4e9026696328b Mon Sep 17 00:00:00 2001
-From: Eric Xu <[email protected]>
-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 <[email protected]>
----
- 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
-
diff --git a/meta/recipes-support/libnl/files/run-ptest 
b/meta/recipes-support/libnl/files/run-ptest
index e5c9eb0a328..0d0c665cd22 100755
--- a/meta/recipes-support/libnl/files/run-ptest
+++ b/meta/recipes-support/libnl/files/run-ptest
@@ -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
diff --git a/meta/recipes-support/libnl/libnl_3.7.0.bb 
b/meta/recipes-support/libnl/libnl_3.7.0.bb
index ef286a6429d..38d21ffe9c9 100644
--- a/meta/recipes-support/libnl/libnl_3.7.0.bb
+++ b/meta/recipes-support/libnl/libnl_3.7.0.bb
@@ -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"
-- 
2.34.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#181554): 
https://lists.openembedded.org/g/openembedded-core/message/181554
Mute This Topic: https://lists.openembedded.org/mt/99013357/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to