From patchwork Fri Aug 26 14:23:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 11938 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6254BECAAD4 for ; Fri, 26 Aug 2022 14:23:46 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.37551.1661523821717967664 for ; Fri, 26 Aug 2022 07:23:42 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 565E723A; Fri, 26 Aug 2022 07:23:46 -0700 (PDT) Received: from oss-tx204.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C9E543F71A; Fri, 26 Aug 2022 07:23:40 -0700 (PDT) From: Ross Burton To: openembedded-core@lists.openembedded.org Cc: nd@arm.com Subject: [PATCH 3/3] libgcrypt: rewrite ptest Date: Fri, 26 Aug 2022 15:23:37 +0100 Message-Id: <20220826142337.42920-3-ross.burton@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220826142337.42920-1-ross.burton@arm.com> References: <20220826142337.42920-1-ross.burton@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 26 Aug 2022 14:23:46 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/169921 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. Signed-off-by: Ross Burton --- .../libgcrypt/files/no-native-gpg-error.patch | 18 ++++++++++++++++++ .../recipes-support/libgcrypt/files/run-ptest | 8 +++++++- .../libgcrypt/libgcrypt_1.10.1.bb | 19 ++++--------------- 3 files changed, 29 insertions(+), 16 deletions(-) create mode 100644 meta/recipes-support/libgcrypt/files/no-native-gpg-error.patch diff --git a/meta/recipes-support/libgcrypt/files/no-native-gpg-error.patch b/meta/recipes-support/libgcrypt/files/no-native-gpg-error.patch new file mode 100644 index 00000000000..b9a607863d3 --- /dev/null +++ b/meta/recipes-support/libgcrypt/files/no-native-gpg-error.patch @@ -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 + +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 + # include + #endif +-#include /* For some macros. */ + + #include "stopwatch.h" + diff --git a/meta/recipes-support/libgcrypt/files/run-ptest b/meta/recipes-support/libgcrypt/files/run-ptest index 4818a061b4b..c349ae1944e 100644 --- a/meta/recipes-support/libgcrypt/files/run-ptest +++ b/meta/recipes-support/libgcrypt/files/run-ptest @@ -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 diff --git a/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb b/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb index 5047c9075f1..b0d88de3aa1 100644 --- a/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb +++ b/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb @@ -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"