summaryrefslogtreecommitdiffstats
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
parent933885520a5d8ace0c0f59d2b5188d9c5b236d10 (diff)
downloadmeta-openembedded-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>
-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 @@
1From 9dcdfa716e3c3831d9b70472b39dab2fd370f503 Mon Sep 17 00:00:00 2001
2From: Yoann Congal <yoann.congal@smile.fr>
3Date: Sun, 26 Feb 2023 16:04:35 +0100
4Subject: [PATCH] automake: make example programs installable
5
6The example programs are used as tests for ptest, so we need a way to
7install them on the rootfs.
8
9Upstream-Status: Inappropriate [oe-core specific]
10---
11 examples/Makefile.am | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/examples/Makefile.am b/examples/Makefile.am
15index 9bd3efc..f4324c2 100644
16--- a/examples/Makefile.am
17+++ b/examples/Makefile.am
18@@ -1,5 +1,5 @@
19 AM_CPPFLAGS = -I$(top_srcdir)/libusb
20-noinst_PROGRAMS = lsusb testlibusb
21+bin_PROGRAMS = lsusb testlibusb
22
23 lsusb_SOURCES = lsusb.c
24 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 @@
1#!/bin/sh
2
3rc=0
4for TEST in lsusb testlibusb; do
5 if ! ./$TEST ; then
6 echo "FAIL: $TEST"
7 rc=$((rc + 1))
8 else
9 echo "PASS: $TEST"
10 fi
11done
12
13# return number of failed tests
14exit $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"
21SRC_URI = " \ 21SRC_URI = " \
22 git://github.com/libusb/libusb-compat-0.1.git;protocol=https;branch=master \ 22 git://github.com/libusb/libusb-compat-0.1.git;protocol=https;branch=master \
23 file://0001-usb.h-Include-sys-types.h.patch \ 23 file://0001-usb.h-Include-sys-types.h.patch \
24 file://0002-automake-make-example-programs-installable.patch \
25 file://run-ptest \
24" 26"
25SRCREV = "c497eff1ae8c4cfd4fdff370f04c78fa0584f4f3" 27SRCREV = "c497eff1ae8c4cfd4fdff370f04c78fa0584f4f3"
26S = "${WORKDIR}/git" 28S = "${WORKDIR}/git"
@@ -29,5 +31,14 @@ UPSTREAM_CHECK_URI = "https://github.com/libusb/libusb-compat-0.1/releases"
29 31
30BINCONFIG = "${bindir}/libusb-config" 32BINCONFIG = "${bindir}/libusb-config"
31 33
32inherit autotools pkgconfig binconfig-disabled lib_package 34inherit autotools pkgconfig binconfig-disabled lib_package ptest
33 35
36# examples are used as ptest so enable them at configuration if needed
37EXTRA_OECONF += "${@bb.utils.contains('PTEST_ENABLED', '1', '--enable-examples-build', '', d)}"
38
39# Move test binaries out of bindir to avoid clashing with a "real" lsusb.
40do_install_ptest() {
41 for bin in lsusb testlibusb; do
42 mv ${D}${bindir}/$bin ${D}${PTEST_PATH}
43 done
44}