nettle: Add ptests

Use the nettle testsuite as ptests. Skip "sha1-huge-test" because
it can take 20 minutes to finish.

(From OE-Core rev: 75839c401f319d4367cb1b9259d0931170212ec8)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Jussi Kukkonen
2015-08-27 10:40:22 +03:00
committed by Richard Purdie
parent 38f4e92ab9
commit 3a37c439c7
3 changed files with 101 additions and 2 deletions

View File

@@ -0,0 +1,46 @@
From 46edf01cc98db9f9feec984897836dfdd26bdc8d Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
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 <jussi.kukkonen@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

View File

@@ -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

View File

@@ -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"