libgpiod: ptest: run all test-suites if possible

We have four test-suites total in libgpiod: for the core C library,
gpio-tools and for C++ and Python bindings. Modify the recipe to install
all of them depending on build settings and make run-ptest execute them
if available.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Bartosz Golaszewski authored and Khem Raj committed 2021-06-04 07:08:13 -07:00
1 parent 66561c713e
commit 2530ace540
2 files changed
+33 -8

No files matched your search

@@ -1,12 +1,19 @@
#!/bin/sh #!/bin/sh
testbin="gpiod-test" testbins="gpiod-test gpio-tools-test gpiod-cxx-test gpiod_py_test.py"
ptestdir=$(dirname "$(readlink -f "$0")") ptestdir=$(dirname "$(readlink -f "$0")")
cd $ptestdir/tests cd $ptestdir/tests
./$testbin > ./$testbin.out for testbin in $testbins; do
if [ $? -ne 0 ]; then if test -e ./$testbin; then
echo "FAIL: $testbin" ./$testbin > ./$testbin.out
else if [ $? -ne 0 ]; then
echo "PASS: $testbin" echo "FAIL: $testbin"
fi else
echo "PASS: $testbin"
fi
else
echo "SKIP: $testbin"
fi
done
@@ -53,5 +53,23 @@ PACKAGECONFIG_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'tests
do_install_ptest() { do_install_ptest() {
install -d ${D}${PTEST_PATH}/tests install -d ${D}${PTEST_PATH}/tests
cp ${B}/tests/.libs/gpiod-test ${D}${PTEST_PATH}/tests/
# These are the core C library tests
install -m 0755 ${B}/tests/.libs/gpiod-test ${D}${PTEST_PATH}/tests/
# Tools are always built so let's always install them for ptest even if
# we're not selecting libgpiod-tools.
install -m 0755 ${S}/tools/gpio-tools-test ${D}${PTEST_PATH}/tests/
install -m 0755 ${S}/tools/gpio-tools-test.bats ${D}${PTEST_PATH}/tests/
for tool in ${FILES_${PN}-tools}; do
install ${B}/tools/.libs/$(basename $tool) ${D}${PTEST_PATH}/tests/
done
if ${@bb.utils.contains('PACKAGECONFIG', 'cxx', 'true', 'false', d)}; then
install -m 0755 ${B}/bindings/cxx/tests/.libs/gpiod-cxx-test ${D}${PTEST_PATH}/tests/
fi
if ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'true', 'false', d)}; then
install -m 0755 ${S}/bindings/python/tests/gpiod_py_test.py ${D}${PTEST_PATH}/tests/
fi
} }