[OE-core] [PATCH 4/6] nettle: Add ptests

Jussi Kukkonen jussi.kukkonen at intel.com
Fri Aug 28 12:16:47 UTC 2015


On 27 August 2015 at 16:06, Jussi Kukkonen <jussi.kukkonen at intel.com> wrote:
>
> Use the nettle testsuite as ptests. Skip "sha1-huge-test" because
> it can take 20 minutes to finish.
>
> Signed-off-by: Jussi Kukkonen <jussi.kukkonen at intel.com>
> ---
>  ...d-target-to-only-build-tests-not-run-them.patch | 43
++++++++++++++++++++++
>  meta/recipes-support/nettle/files/run-ptest        | 36
++++++++++++++++++
>  meta/recipes-support/nettle/nettle.inc             | 21 ++++++++++-
>  3 files changed, 98 insertions(+), 2 deletions(-)
>  create mode 100644
meta/recipes-support/nettle/files/Add-target-to-only-build-tests-not-run-them.patch
>  create mode 100644 meta/recipes-support/nettle/files/run-ptest
>
> diff --git
a/meta/recipes-support/nettle/files/Add-target-to-only-build-tests-not-run-them.patch
b/meta/recipes-support/nettle/files/Add-target-to-only-build-tests-not-run-them.patch
> new file mode 100644
> index 0000000..9495d02
> --- /dev/null
> +++
b/meta/recipes-support/nettle/files/Add-target-to-only-build-tests-not-run-them.patch
> @@ -0,0 +1,43 @@
> +From 46edf01cc98db9f9feec984897836dfdd26bdc8d Mon Sep 17 00:00:00 2001
> +From: Jussi Kukkonen <jussi.kukkonen at intel.com>
> +Date: Wed, 12 Aug 2015 23:27:27 +0300
> +Subject: [PATCH] Add target to only build tests (not run them)
> +
> +Upstream-Status: ?

I've changed this to "Inappropriate" in the branch: it's not a complete
patch for installable tests (that upstream might be interested in) but it's
already useful for us.

> +Signed-off-by: Jussi Kukkonen <jussi.kukkonen at intel.com>
> +---
> + Makefile.in           | 3 +++
> + testsuite/Makefile.in | 2 ++
> + 2 files changed, 5 insertions(+)
> +
> +diff --git a/Makefile.in b/Makefile.in
> +index 08efb7d..7909342 100644
> +--- a/Makefile.in
> ++++ b/Makefile.in
> +@@ -55,6 +55,9 @@ clean distclean mostlyclean maintainer-clean tags:
> +         echo "Making $@ in $d" ; (cd $d && $(MAKE) $@); done
> +       $(MAKE) $@-here
> +
> ++buildtest:
> ++      echo "Making $@ in testsuite" ; (cd testsuite && $(MAKE) $@)
> ++
> + check-here:
> +       true
> +
> +diff --git a/testsuite/Makefile.in b/testsuite/Makefile.in
> +index 6bc1907..bb65bf0 100644
> +--- a/testsuite/Makefile.in
> ++++ b/testsuite/Makefile.in
> +@@ -116,6 +116,8 @@ $(TARGETS) $(EXTRA_TARGETS): testutils.$(OBJEXT)
../nettle-internal.$(OBJEXT) \
> + # data.
> + VALGRIND = valgrind --error-exitcode=1 --leak-check=full
--show-reachable=yes @IF_ASM@ --partial-loads-ok=yes
> +
> ++buildtest: $(TS_ALL)
> ++
> + # The PATH update is for locating dlls on w*ndows.
> + check: $(TS_ALL)
> +       LD_LIBRARY_PATH=../.lib PATH="../.lib:$PATH" srcdir="$(srcdir)" \
> +--
> +2.1.4
> +
> diff --git a/meta/recipes-support/nettle/files/run-ptest
b/meta/recipes-support/nettle/files/run-ptest
> new file mode 100644
> index 0000000..b90bed6
> --- /dev/null
> +++ b/meta/recipes-support/nettle/files/run-ptest
> @@ -0,0 +1,36 @@
> +#! /bin/sh
> +
> +cd testsuite
> +
> +failed=0
> +all=0
> +
> +for f in *-test; do
> +    if [ "$f" = "sha1-huge-test" ] ; then
> +        echo "SKIP: $f (skipped for ludicrous run time)"
> +        continue
> +    fi
> +
> +    "./$f"
> +    case "$?" in
> +        0)
> +            echo "PASS: $f"
> +            all=$((all + 1))
> +            ;;
> +        77)
> +            echo "SKIP: $f"
> +            ;;
> +        *)
> +            echo "FAIL: $f"
> +            failed=$((failed + 1))
> +            all=$((all + 1))
> +            ;;
> +    esac
> +done
> +
> +if [ "$failed" -eq 0 ] ; then
> +  echo "All $all tests passed"
> +else
> +  echo "$failed of $all tests failed"
> +fi
> +
> diff --git a/meta/recipes-support/nettle/nettle.inc
b/meta/recipes-support/nettle/nettle.inc
> index 0579b6c..fafff6d 100644
> --- a/meta/recipes-support/nettle/nettle.inc
> +++ b/meta/recipes-support/nettle/nettle.inc
> @@ -8,19 +8,36 @@ LIC_FILES_CHKSUM =
"file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
>
>  DEPENDS += "gmp"
>
> -SRC_URI = "http://www.lysator.liu.se/~nisse/archive/${BP}.tar.gz"
> +SRC_URI = "http://www.lysator.liu.se/~nisse/archive/${BP}.tar.gz \
> +           file://Add-target-to-only-build-tests-not-run-them.patch \
> +           file://run-ptest \
> +           "
>
>  SRC_URI[md5sum] = "003d5147911317931dd453520eb234a5"
>  SRC_URI[sha256sum] =
"bc71ebd43435537d767799e414fce88e521b7278d48c860651216e1fc6555b40"
>
>  EXTRA_OECONF = "--disable-openssl"
>
> +inherit autotools ptest
> +
>  do_configure_prepend() {
>         if [ ! -e ${S}/acinclude.m4 -a -e ${S}/aclocal.m4 ]; then
>                 cp ${S}/aclocal.m4 ${S}/acinclude.m4
>         fi
>  }
>
> -inherit autotools
> +do_compile_ptest() {
> +        oe_runmake buildtest
> +}
> +
> +do_install_ptest() {
> +        install -d ${D}${PTEST_PATH}/testsuite/
> +        install ${S}/testsuite/gold-bug.txt ${D}${PTEST_PATH}/testsuite/
> +        install ${S}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/
> +        # tools can be found in PATH, not in ../tools/
> +        sed -i -e 's|../tools/||' ${D}${PTEST_PATH}/testsuite/*-test
> +        install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/
> +}
> +
>
>  BBCLASSEXTEND = "native nativesdk"
> --
> 2.1.4
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20150828/6e57506c/attachment-0002.html>


More information about the Openembedded-core mailing list