On Wed, Jan 25, 2023 at 03:02:27PM +0100, Alexander Kanavin wrote: > Thanks! Before this can be added I'd like to clarify two things: > - is execution time of 184 with or without kvm? It is with kvm. > - depending on that, you need to add the test to fast or slow list in > ptest-packagelists.inc, so it's actually executed in yocto CI. I'll add it in the slow list in ptest-packagelists.inc, I assume that is OK.
Ravineet > > Alex > > On Wed, 25 Jan 2023 at 14:05, Ravineet Singh <[email protected]> > wrote: > > > > Step 1 of adding gnutls unit-tests into ptest. Only self-contained > > test (no external file system dependencies) are included in this step. > > > > Sample output: > > root@qemux86-64:~# ptest-runner gnutls > > START: ptest-runner > > BEGIN: /usr/lib64/gnutls/ptest > > PASS: aead-cipher-vec > > PASS: alerts > > PASS: anti_replay > > ... > > gnutls test summary: > > -------------------- > > total: 375 > > pass : 364 > > fail : 0 > > skip : 11 > > > > DURATION: 184 > > END: /usr/lib64/gnutls/ptest > > 2023-01-13T11:32 > > STOP: ptest-runner > > TOTAL: 1 FAIL: 0 > > > > Signed-off-by: Ravineet Singh <[email protected]> > > --- > > .../gnutls/gnutls/Add-ptest-support.patch | 59 ++++++++++++ > > meta/recipes-support/gnutls/gnutls/run-ptest | 90 +++++++++++++++++++ > > meta/recipes-support/gnutls/gnutls_3.7.8.bb | 8 +- > > 3 files changed, 156 insertions(+), 1 deletion(-) > > create mode 100644 > > meta/recipes-support/gnutls/gnutls/Add-ptest-support.patch > > create mode 100644 meta/recipes-support/gnutls/gnutls/run-ptest > > > > diff --git a/meta/recipes-support/gnutls/gnutls/Add-ptest-support.patch > > b/meta/recipes-support/gnutls/gnutls/Add-ptest-support.patch > > new file mode 100644 > > index 0000000000..965568cfd6 > > --- /dev/null > > +++ b/meta/recipes-support/gnutls/gnutls/Add-ptest-support.patch > > @@ -0,0 +1,59 @@ > > +From 74080376904713a8e6cceefbc25c81512796bf0c Mon Sep 17 00:00:00 2001 > > +From: Ravineet Singh <[email protected]> > > +Date: Tue, 10 Jan 2023 16:11:10 +0100 > > +Subject: [PATCH] gnutls: add ptest support > > + > > +Signed-off-by: Ravineet Singh <[email protected]> > > +--- > > + Makefile.am | 3 +++ > > + configure.ac | 2 ++ > > + tests/Makefile.am | 6 ++++++ > > + 3 files changed, 11 insertions(+) > > + > > +diff --git a/Makefile.am b/Makefile.am > > +index 843193f9f..816b09fec 100644 > > +--- a/Makefile.am > > ++++ b/Makefile.am > > +@@ -191,6 +191,9 @@ dist-hook: > > + mv ChangeLog $(distdir) > > + touch -c $(distdir)/doc/*.html $(distdir)/doc/*.pdf > > $(distdir)/doc/*.info > > + > > ++install-ptest: > > ++ $(MAKE) -C tests DESTDIR=$(DESTDIR)/tests $@ > > ++ > > + .PHONY: abi-check abi-dump-versioned abi-dump-latest pic-check > > symbol-check local-code-coverage-output files-update AUTHORS > > + > > + include $(top_srcdir)/cligen/cligen.mk > > +diff --git a/configure.ac b/configure.ac > > +index baff1c007..f9f596abf 100644 > > +--- a/configure.ac > > ++++ b/configure.ac > > +@@ -1150,6 +1150,8 @@ AC_SUBST(LIBGNUTLS_CFLAGS) > > + > > + AM_CONDITIONAL(NEEDS_LIBRT, test "$gnutls_needs_librt" = "yes") > > + > > ++AM_EXTRA_RECURSIVE_TARGETS([buildtest-TESTS]) > > ++ > > + AC_DEFINE([GNUTLS_INTERNAL_BUILD], 1, [We allow temporarily usage of > > deprecated functions - until they are removed.]) > > + > > + hw_features= > > +diff --git a/tests/Makefile.am b/tests/Makefile.am > > +index 573e911a0..e8a26f8b9 100644 > > +--- a/tests/Makefile.am > > ++++ b/tests/Makefile.am > > +@@ -644,6 +644,12 @@ SH_LOG_COMPILER = $(SHELL) > > + AM_VALGRINDFLAGS = --suppressions=$(srcdir)/suppressions.valgrind > > + LOG_COMPILER = $(LOG_VALGRIND) > > + > > ++install-ptest: $(check_PROGRAMS) > > ++ @$(INSTALL) -d $(DESTDIR) > > ++ @for file in $^; do \ > > ++ $(INSTALL_PROGRAM) $$file $(DESTDIR) ; \ > > ++ done > > ++ > > + distclean-local: > > + rm -rf softhsm-*.db softhsm-*.config *.tmp tmp-* > > x509-crt-list-import-url.config.db port.lock.d > > + > > +-- > > +2.31.1 > > + > > diff --git a/meta/recipes-support/gnutls/gnutls/run-ptest > > b/meta/recipes-support/gnutls/gnutls/run-ptest > > new file mode 100644 > > index 0000000000..84948f487d > > --- /dev/null > > +++ b/meta/recipes-support/gnutls/gnutls/run-ptest > > @@ -0,0 +1,90 @@ > > +#!/bin/sh > > + > > +rjob() { > > + local job=$1 > > + local log=$2 > > + > > + # TODO: Output will be garbled > > + ./${job} >> ${log} 2>&1 > > + > > + ret=$? > > + case $ret in > > + 0) > > + echo "PASS: $t" >> ${log} > > + echo "PASS: $t" > > + ;; > > + 77) > > + echo "SKIP: $t" >> ${log} > > + echo "SKIP: $t" > > + ;; > > + *) > > + echo "FAIL: $t" >> ${log} > > + echo "FAIL: $t" > > + ;; > > + esac > > +} > > + > > +is_disallowed() { > > + local key=$1 > > + $(echo ${test_disallowlist} | grep -w -q ${key}) > > + return $? > > +} > > + > > +# TODO > > +# This list should probably be in a external file > > +# Testcases defined here either take very long time (dtls-stress) > > +# or are dependent on local files (certs, etc) in local file system > > +# currently not exported to target. > > + > > +test_disallowlist="" > > +test_disallowlist="${test_disallowlist} dtls-stress" > > +test_disallowlist="${test_disallowlist} handshake-large-cert" > > +test_disallowlist="${test_disallowlist} id-on-xmppAddr" > > +test_disallowlist="${test_disallowlist} mini-x509-cas" > > +test_disallowlist="${test_disallowlist} pkcs12_simple" > > +test_disallowlist="${test_disallowlist} protocol-set-allowlist" > > +test_disallowlist="${test_disallowlist} psk-file" > > +test_disallowlist="${test_disallowlist} rawpk-api" > > +test_disallowlist="${test_disallowlist} set_pkcs12_cred" > > +test_disallowlist="${test_disallowlist} system-override-curves-allowlist" > > +test_disallowlist="${test_disallowlist} system-override-hash" > > +test_disallowlist="${test_disallowlist} system-override-sig" > > +test_disallowlist="${test_disallowlist} system-override-sig-tls" > > +test_disallowlist="${test_disallowlist} system-prio-file" > > +test_disallowlist="${test_disallowlist} x509cert-tl" > > + > > +LOG=${PWD}/tests.log > > +cd tests > > +max_njobs=$(grep -c ^processor /proc/cpuinfo) > > +njobs=0 > > + > > +for t in *; do > > + [ -x $t ] || continue > > + [ -f $t ] || continue > > + > > + is_disallowed ${t} > > + [ $? -eq 0 ] && continue > > + > > + rjob ${t} ${LOG} & > > + one=1 > > + njobs=$(expr ${njobs} + ${one}) > > + if [ ${njobs} -eq ${max_njobs} ]; then > > + wait > > + njobs=0 > > + fi > > +done > > +wait > > + > > +skipped=$(grep -c SKIP ${LOG}) > > +passed=$(grep -c PASS ${LOG}) > > +failed=$(grep -c FAIL ${LOG}) > > +total=$(expr ${passed} + ${failed} + ${skipped}) > > + > > +echo > > +echo "gnutls test summary:" > > +echo "--------------------" > > +echo "total: ${total}" > > +echo "pass : ${passed}" > > +echo "fail : ${failed}" > > +echo "skip : ${skipped}" > > +echo > > diff --git a/meta/recipes-support/gnutls/gnutls_3.7.8.bb > > b/meta/recipes-support/gnutls/gnutls_3.7.8.bb > > index 8f979a5b99..fee06393bd 100644 > > --- a/meta/recipes-support/gnutls/gnutls_3.7.8.bb > > +++ b/meta/recipes-support/gnutls/gnutls_3.7.8.bb > > @@ -22,11 +22,13 @@ SHRT_VER = > > "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" > > SRC_URI = > > "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz \ > > file://arm_eabi.patch \ > > > > file://0001-Creating-.hmac-file-should-be-excuted-in-target-envi.patch \ > > + file://run-ptest \ > > + file://Add-ptest-support.patch \ > > " > > > > SRC_URI[sha256sum] = > > "c58ad39af0670efe6a8aee5e3a8b2331a1200418b64b7c51977fb396d4617114" > > > > -inherit autotools texinfo pkgconfig gettext lib_package gtk-doc > > +inherit autotools texinfo pkgconfig gettext lib_package gtk-doc ptest > > > > PACKAGECONFIG ??= "libidn ${@bb.utils.filter('DISTRO_FEATURES', > > 'seccomp', d)}" > > > > @@ -68,6 +70,10 @@ do_install:append:class-target() { > > fi > > } > > > > +do_compile:append() { > > + oe_runmake ${PARALLEL_MAKE} -C tests buildtest-TESTS > > +} > > + > > PACKAGES =+ "${PN}-openssl ${PN}-xx ${PN}-fips" > > > > FILES:${PN}-dev += "${bindir}/gnutls-cli-debug" > > -- > > 2.34.1 > > > > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#176349): https://lists.openembedded.org/g/openembedded-core/message/176349 Mute This Topic: https://lists.openembedded.org/mt/96519581/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
