libgcrypt: rewrite ptest

Instead of installing pieces of the build system, we can install the
test driver (which can also be used to list the files needed) and run
the tests directly.

(From OE-Core rev: 5e07e6c376cf46d2788dcef53e9feba890c0236d)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton 2022-08-26 15:23:37 +01:00 committed by Richard Purdie
parent ae0b0649aa
commit de284c467a
3 changed files with 29 additions and 16 deletions

View File

@ -0,0 +1,18 @@
Don't depend on a native libgpg-error to build the test driver, as it's
an optional dependency for some C annotations.
Upstream-Status: Inappropriate
Signed-off-by: Ross Burton <ross.burton@arm.com>
diff --git a/tests/testdrv.c b/tests/testdrv.c
index 0ccde326..6d6abd57 100644
--- a/tests/testdrv.c
+++ b/tests/testdrv.c
@@ -32,7 +32,6 @@
# include <fcntl.h>
# include <sys/wait.h>
#endif
-#include <gpg-error.h> /* For some macros. */
#include "stopwatch.h"

View File

@ -1,3 +1,9 @@
#!/bin/sh
make -C build/tests runtest-TESTS
# Run the tests in regression mode so they are quicker
export GCRYPT_IN_REGRESSION_TEST=1
# The 'random' test invokes itself, so we need to be sure that the test
# directory is on PATH.
export PATH=$PATH:.
./testdrv --verbose

View File

@ -17,13 +17,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
"
DEPENDS = "libgpg-error"
RDEPENDS:${PN}-ptest = "bash make"
UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.bz2 \
file://0001-libgcrypt-fix-m4-file-for-oe-core.patch \
file://0002-libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch \
file://0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch \
file://no-native-gpg-error.patch \
file://run-ptest \
"
SRC_URI[sha256sum] = "ef14ae546b0084cd84259f61a55e07a38c3b53afc0f546bffcef2f01baffe9de"
@ -38,8 +38,6 @@ inherit autotools texinfo binconfig-disabled pkgconfig ptest
EXTRA_OECONF = "--disable-asm"
EXTRA_OEMAKE:class-target = "LIBTOOLFLAGS='--tag=CC'"
PRIVATE_LIBS:${PN}-ptest:append = " libgcrypt.so.20"
PACKAGECONFIG ??= "capabilities"
PACKAGECONFIG[capabilities] = "--with-capabilities,--without-capabilities,libcap"
@ -49,18 +47,9 @@ do_configure:prepend () {
}
do_install_ptest() {
cp -r --preserve=mode,links -v ${S} ${D}${PTEST_PATH}
cp -r --preserve=mode,links -v ${B} ${D}${PTEST_PATH}
rm ${D}${PTEST_PATH}/build/cipher/gost-s-box
rm ${D}${PTEST_PATH}/build/doc/yat2m
rm ${D}${PTEST_PATH}/build/libtool
rm ${D}${PTEST_PATH}/build/config.status
rm ${D}${PTEST_PATH}/build/config.log
rm ${D}${PTEST_PATH}/build/src/mpicalc
rm ${D}${PTEST_PATH}/${BP}/autom4te* -rf
sed -i -e 's/Makefile:.*/Makefile-disabled:/' ${D}${PTEST_PATH}/build/Makefile
find ${D}/${PTEST_PATH}/build -name "*.cmake" -or -name "Makefile" \
| xargs sed -e "s|${WORKDIR}|${PTEST_PATH}|g" -e "s|${WORKDIR}/recipe-sysroot-native||g" -i
cd tests
oe_runmake testdrv-build testdrv
install testdrv $(srcdir=${S}/tests ./testdrv-build --files | sort | uniq) ${D}${PTEST_PATH}
}
FILES:${PN}-dev += "${bindir}/hmac256 ${bindir}/dumpsexp"