From 7831d2d3a1069b9d3a8d32e41f0a292e1add56ba Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Fri, 19 Oct 2018 20:43:17 +0100 Subject: openssl: fix ptest Previously the ptest installation was simply a copy of the entire build tree, which is terribly ugly. Instead copy just the pieces we need, symlink to /usr as appropriate, and add missing dependencies. Remove PRIVATE_LIBS as we don't ship copies of the libraries now. Also remember to do 'set -x' in run-ptest, so if the tests fail the runner knows! [ YOCTO #12965 ] [ YOCTO #12967 ] Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-connectivity/openssl/openssl/run-ptest | 14 +++++++++++--- meta/recipes-connectivity/openssl/openssl_1.1.1.bb | 20 ++++++++++++++++---- 2 files changed, 27 insertions(+), 7 deletions(-) (limited to 'meta/recipes-connectivity') diff --git a/meta/recipes-connectivity/openssl/openssl/run-ptest b/meta/recipes-connectivity/openssl/openssl/run-ptest index 65c6cc7b86..0a620dea74 100644 --- a/meta/recipes-connectivity/openssl/openssl/run-ptest +++ b/meta/recipes-connectivity/openssl/openssl/run-ptest @@ -1,4 +1,12 @@ #!/bin/sh -cd test -OPENSSL_ENGINES=../engines BLDTOP=.. SRCTOP=.. perl run_tests.pl -cd .. + +set -e + +# Optional arguments are 'list' to lists all tests, or the test name (base name +# ie test_evp, not 03_test_evp.t). + +export TOP=. +# OPENSSL_ENGINES is relative from the test binaries +export OPENSSL_ENGINES=../engines + +perl ./test/run_tests.pl $* diff --git a/meta/recipes-connectivity/openssl/openssl_1.1.1.bb b/meta/recipes-connectivity/openssl/openssl_1.1.1.bb index 0d80aba64d..4516f61021 100644 --- a/meta/recipes-connectivity/openssl/openssl_1.1.1.bb +++ b/meta/recipes-connectivity/openssl/openssl_1.1.1.bb @@ -151,10 +151,22 @@ do_install_append_class-nativesdk () { } do_install_ptest () { - cp -r * ${D}${PTEST_PATH} -} + cp ${B}/Configure ${B}/configdata.pm ${D}${PTEST_PATH} + # TODO fuzz needs to be pruned of non-binaries + cp -r ${B}/external ${B}/test ${B}/fuzz ${B}/util ${D}${PTEST_PATH} + + # For test_shlibload + ln -s ${libdir}/libcrypto.so.1.1 ${D}${PTEST_PATH}/libcrypto.so + ln -s ${libdir}/libssl.so.1.1 ${D}${PTEST_PATH}/libssl.so -PRIVATE_LIBS_${PN}-ptest = "libcrypto.so.1.1 libssl.so.1.1" + install -d ${D}${PTEST_PATH}/apps + ln -s ${bindir}/openssl ${D}${PTEST_PATH}/apps + install -m644 ${B}/apps/*.pem ${B}/apps/*.srl ${B}/apps/openssl.cnf ${D}${PTEST_PATH}/apps + install -m755 ${B}/apps/CA.pl ${D}${PTEST_PATH}/apps + + install -d ${D}${PTEST_PATH}/engines + install -m755 ${B}/engines/ossltest.so ${D}${PTEST_PATH}/engines +} # Add the openssl.cnf file to the openssl-conf package. Make the libcrypto # package RRECOMMENDS on this package. This will enable the configuration @@ -176,7 +188,7 @@ CONFFILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf" RRECOMMENDS_libcrypto += "openssl-conf" RDEPENDS_${PN}-bin = "perl" RDEPENDS_${PN}-misc = "perl" -RDEPENDS_${PN}-ptest += "perl-module-file-spec-functions bash python" +RDEPENDS_${PN}-ptest += "openssl-bin perl perl-modules bash python" RPROVIDES_openssl-conf = "openssl10-conf" RREPLACES_openssl-conf = "openssl10-conf" -- cgit 1.2.3-korg