aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support
diff options
context:
space:
mode:
authorYoann Congal <yoann.congal@smile.fr>2023-02-27 08:13:31 +0100
committerKhem Raj <raj.khem@gmail.com>2023-02-28 08:50:56 -0800
commit66b471ec10a9216b6275b6bc896a9333ecef2432 (patch)
tree87e577db9528feb2796bf7405606170b54e593f3 /meta-oe/recipes-support
parent933885520a5d8ace0c0f59d2b5188d9c5b236d10 (diff)
downloadmeta-openembedded-contrib-66b471ec10a9216b6275b6bc896a9333ecef2432.tar.gz
libusb-compat: add simple ptest (example programs)
Build and run example programs as test. This will only catch major errors (.so lib won't load etc.) because no output check is done, only return status is checked. Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Reviewed-by: Ever ATILANO <ever.atilano@smile.fr> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-support')
-rw-r--r--meta-oe/recipes-support/libusb/libusb-compat/0002-automake-make-example-programs-installable.patch24
-rw-r--r--meta-oe/recipes-support/libusb/libusb-compat/run-ptest14
-rw-r--r--meta-oe/recipes-support/libusb/libusb-compat_0.1.8.bb13
3 files changed, 50 insertions, 1 deletions
diff --git a/meta-oe/recipes-support/libusb/libusb-compat/0002-automake-make-example-programs-installable.patch b/meta-oe/recipes-support/libusb/libusb-compat/0002-automake-make-example-programs-installable.patch
new file mode 100644
index 0000000000..faf532cad2
--- /dev/null
+++ b/meta-oe/recipes-support/libusb/libusb-compat/0002-automake-make-example-programs-installable.patch
@@ -0,0 +1,24 @@
+From 9dcdfa716e3c3831d9b70472b39dab2fd370f503 Mon Sep 17 00:00:00 2001
+From: Yoann Congal <yoann.congal@smile.fr>
+Date: Sun, 26 Feb 2023 16:04:35 +0100
+Subject: [PATCH] automake: make example programs installable
+
+The example programs are used as tests for ptest, so we need a way to
+install them on the rootfs.
+
+Upstream-Status: Inappropriate [oe-core specific]
+---
+ examples/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/examples/Makefile.am b/examples/Makefile.am
+index 9bd3efc..f4324c2 100644
+--- a/examples/Makefile.am
++++ b/examples/Makefile.am
+@@ -1,5 +1,5 @@
+ AM_CPPFLAGS = -I$(top_srcdir)/libusb
+-noinst_PROGRAMS = lsusb testlibusb
++bin_PROGRAMS = lsusb testlibusb
+
+ lsusb_SOURCES = lsusb.c
+ lsusb_LDADD = ../libusb/libusb.la
diff --git a/meta-oe/recipes-support/libusb/libusb-compat/run-ptest b/meta-oe/recipes-support/libusb/libusb-compat/run-ptest
new file mode 100644
index 0000000000..901662d696
--- /dev/null
+++ b/meta-oe/recipes-support/libusb/libusb-compat/run-ptest
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+rc=0
+for TEST in lsusb testlibusb; do
+ if ! ./$TEST ; then
+ echo "FAIL: $TEST"
+ rc=$((rc + 1))
+ else
+ echo "PASS: $TEST"
+ fi
+done
+
+# return number of failed tests
+exit $rc
diff --git a/meta-oe/recipes-support/libusb/libusb-compat_0.1.8.bb b/meta-oe/recipes-support/libusb/libusb-compat_0.1.8.bb
index 884b1bbb24..bfafdae7a4 100644
--- a/meta-oe/recipes-support/libusb/libusb-compat_0.1.8.bb
+++ b/meta-oe/recipes-support/libusb/libusb-compat_0.1.8.bb
@@ -21,6 +21,8 @@ PE = "1"
SRC_URI = " \
git://github.com/libusb/libusb-compat-0.1.git;protocol=https;branch=master \
file://0001-usb.h-Include-sys-types.h.patch \
+ file://0002-automake-make-example-programs-installable.patch \
+ file://run-ptest \
"
SRCREV = "c497eff1ae8c4cfd4fdff370f04c78fa0584f4f3"
S = "${WORKDIR}/git"
@@ -29,5 +31,14 @@ UPSTREAM_CHECK_URI = "https://github.com/libusb/libusb-compat-0.1/releases"
BINCONFIG = "${bindir}/libusb-config"
-inherit autotools pkgconfig binconfig-disabled lib_package
+inherit autotools pkgconfig binconfig-disabled lib_package ptest
+# examples are used as ptest so enable them at configuration if needed
+EXTRA_OECONF += "${@bb.utils.contains('PTEST_ENABLED', '1', '--enable-examples-build', '', d)}"
+
+# Move test binaries out of bindir to avoid clashing with a "real" lsusb.
+do_install_ptest() {
+ for bin in lsusb testlibusb; do
+ mv ${D}${bindir}/$bin ${D}${PTEST_PATH}
+ done
+}