From 75839c401f319d4367cb1b9259d0931170212ec8 Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen Date: Thu, 27 Aug 2015 10:40:22 +0300 Subject: nettle: Add ptests Use the nettle testsuite as ptests. Skip "sha1-huge-test" because it can take 20 minutes to finish. Signed-off-by: Jussi Kukkonen Signed-off-by: Richard Purdie --- ...d-target-to-only-build-tests-not-run-them.patch | 46 ++++++++++++++++++++++ meta/recipes-support/nettle/files/run-ptest | 36 +++++++++++++++++ meta/recipes-support/nettle/nettle.inc | 21 +++++++++- 3 files changed, 101 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 (limited to 'meta/recipes-support/nettle') 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 0000000000..23da777921 --- /dev/null +++ b/meta/recipes-support/nettle/files/Add-target-to-only-build-tests-not-run-them.patch @@ -0,0 +1,46 @@ +From 46edf01cc98db9f9feec984897836dfdd26bdc8d Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Wed, 12 Aug 2015 23:27:27 +0300 +Subject: [PATCH] Add target to only build tests (not run them) + +Not sending upstream as this is only a start of a solution to +installable tests: It's useful for us already as is. + +Upstream-Status: Inappropriate [not a complete solution] + +Signed-off-by: Jussi Kukkonen +--- + 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 0000000000..b90bed66d2 --- /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 0579b6c923..fafff6d8d9 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" -- cgit 1.2.3-korg