diff mbox series

[meta-networking,scarthgap,1/2] Wolfssl: add ptest

Message ID 20250310090653.2985649-1-sofiane.hamam@smile.fr
State New
Headers show
Series [meta-networking,scarthgap,1/2] Wolfssl: add ptest | expand

Commit Message

Sofiane HAMAM March 10, 2025, 9:06 a.m. UTC
Add ptest for Wolfssl package.
Set IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-wolfssl to 700M
enough to avoid a "No space left on device".

BEGIN: /usr/lib/wolfssl/ptest
Wolfssl ptest logs are stored in /tmp/wolfss_temp.qvuQ9h/ptest.log
Test script returned: 0
unit_test: Success for all configured tests.
PASS: Wolfssl
DURATION: 7
END: /usr/lib/wolfssl/ptest

Signed-off-by: Sofiane HAMAM <sofiane.hamam@smile.fr>
---
 .../ptest-packagelists-meta-networking.inc    |  1 +
 .../wolfssl/files/run-ptest                   | 24 +++++++++++++++++++
 .../wolfssl/wolfssl_5.7.0.bb                  | 23 ++++++++++++++++--
 .../images/meta-networking-image-ptest.bb     |  1 +
 4 files changed, 47 insertions(+), 2 deletions(-)
 create mode 100644 meta-networking/recipes-connectivity/wolfssl/files/run-ptest
diff mbox series

Patch

diff --git a/meta-networking/conf/include/ptest-packagelists-meta-networking.inc b/meta-networking/conf/include/ptest-packagelists-meta-networking.inc
index 7ec6f9063..c3a2202de 100644
--- a/meta-networking/conf/include/ptest-packagelists-meta-networking.inc
+++ b/meta-networking/conf/include/ptest-packagelists-meta-networking.inc
@@ -19,6 +19,7 @@  PTESTS_FAST_META_NETWORKING = "\
     openhpi \
     squid \
     tcpdump \
+    wolfssl \
 "
 
 # firewalld currently hangs forever so disable it for now
diff --git a/meta-networking/recipes-connectivity/wolfssl/files/run-ptest b/meta-networking/recipes-connectivity/wolfssl/files/run-ptest
new file mode 100644
index 000000000..ff66f4ef6
--- /dev/null
+++ b/meta-networking/recipes-connectivity/wolfssl/files/run-ptest
@@ -0,0 +1,24 @@ 
+#!/bin/sh
+
+echo "############ Running Wolfssl Ptest ##########"
+
+log_file=ptest.log
+temp_dir=$(mktemp -d /tmp/wolfss_temp.XXXXXX)
+echo "Wolfssl ptest logs are stored in ${temp_dir}/${log_file}"
+
+./test/unit.test > "$temp_dir/$log_file" 2>&1  
+
+echo "Test script returned: $?"
+
+MAGIC_SENTENCE=$(grep "unit_test: Success for all configured tests." $temp_dir/$log_file)
+
+if [ -n "$MAGIC_SENTENCE" ]; then
+    echo "$MAGIC_SENTENCE"
+    echo "PASS: Wolfssl"
+else
+    echo "#### Issue with at least one test !####"
+    echo "FAIL: Wolfssl"
+fi
+NUM_FAILS=$(grep -c "Failed" $temp_dir/$log_file)
+
+exit $NUM_FAILS
diff --git a/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.7.0.bb b/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.7.0.bb
index 47c14dd1a..119d76abb 100644
--- a/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.7.0.bb
+++ b/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.7.0.bb
@@ -12,11 +12,30 @@  LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 PROVIDES += "cyassl"
 RPROVIDES:${PN} = "cyassl"
 
-SRC_URI = "git://github.com/wolfSSL/wolfssl.git;protocol=https;branch=master"
+SRC_URI = " \
+    git://github.com/wolfSSL/wolfssl.git;protocol=https;branch=master \
+    file://run-ptest \
+"
 SRCREV = "8970ff4c34034dbb3594943d11f8c9d4c5512bd5"
 
 S = "${WORKDIR}/git"
 
-inherit autotools
+inherit autotools ptest
 
 BBCLASSEXTEND += "native nativesdk"
+
+RDEPENDS:${PN}-ptest += " bash"
+
+do_install_ptest() {
+    # Prevent QA Error "package contains reference to TMPDIR [buildpaths]" for unit.test script
+    # Replace the occurences of ${B}/src with '${PTEST_PATH}'
+    sed -i 's|${B}/src|${PTEST_PATH}|g' ${B}/tests/unit.test
+
+    install -d ${D}${PTEST_PATH}/test
+
+    # create an empty folder examples, needed in wolfssl's tests/api.c to "Test loading path with no files"
+    install -d ${D}${PTEST_PATH}/examples
+    cp -rf ${B}/tests/. ${D}${PTEST_PATH}/test
+    cp -rf ${S}/certs  ${D}${PTEST_PATH}
+    cp -rf ${S}/tests  ${D}${PTEST_PATH}
+}
diff --git a/meta-networking/recipes-core/images/meta-networking-image-ptest.bb b/meta-networking/recipes-core/images/meta-networking-image-ptest.bb
index 295da982e..b6238d610 100644
--- a/meta-networking/recipes-core/images/meta-networking-image-ptest.bb
+++ b/meta-networking/recipes-core/images/meta-networking-image-ptest.bb
@@ -20,6 +20,7 @@  BBCLASSEXTEND = "${@' '.join(['mcextend:'+x for x in d.getVar('PTESTS_META_NETWO
 # box) and explicitly add up to 1500MB.
 IMAGE_OVERHEAD_FACTOR = "1.0"
 IMAGE_ROOTFS_EXTRA_SPACE = "324288"
+IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-wolfssl = "714288" 
 # If a particular ptest needs more space, it can be customized:
 #IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-<pn> = "1024288"