botan: add ptest support

The test suite takes just around 30s to execute.

Sample output:

root@qemux86-64:~# ptest-runner
START: ptest-runner
2025-12-15T19:02
BEGIN: /usr/lib/botan/ptest
PASS: AES-128/CCM(10,2)
PASS: AES-128/CCM(12,2)
PASS: AES-128/CCM(14,2)
PASS: AES-128/CCM(16,2)
PASS: AES-128/CCM(16,3)
PASS: AES-128/CCM(16,4)
[...lots of lines...]
PASS: XMSS/SHAKE_16_512 verify invalid signature
PASS: XMSS/SHAKE_20_256 verify invalid signature
PASS: XMSS/SHAKE_20_512 verify invalid signature
PASS: ZFEC encoding/decoding
Tests complete ran 3375688 tests in 28.38 sec all tests ok
DURATION: 29
END: /usr/lib/botan/ptest
2025-12-15T19:02
STOP: ptest-runner
TOTAL: 1 FAIL: 0

Tested also by forcing some tests to fail, which was also displayed correctly.

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Gyorgy Sarvari 2025-12-15 20:08:18 +01:00 committed by Khem Raj
parent a45d5c0f2e
commit 88ebc14186
No known key found for this signature in database
GPG Key ID: BB053355919D3314
3 changed files with 8 additions and 3 deletions

View File

@ -9,6 +9,7 @@
PTESTS_FAST_META_OE = "\
asio \
audiofile \
botan \
cli11 \
cmocka \
cunit \

View File

@ -0,0 +1,2 @@
#!/bin/sh
botan-test --data-dir=/usr/share/botan/tests/data/ | tee ./test.out | grep " ran " | sed 's/^\(.*\) ran .* all ok$/PASS: \1/; s/^\(.*\) ran .* FAILED$/FAIL: \1/'

View File

@ -4,12 +4,13 @@ LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://license.txt;md5=3f911cecfc74a2d9f1ead9a07bd92a6e"
SECTION = "libs"
SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tar.xz"
SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tar.xz \
file://run-ptest"
SRC_URI[sha256sum] = "fde194236f6d5434f136ea0a0627f6cc9d26af8b96e9f1e1c7d8c82cd90f4f24"
S = "${UNPACKDIR}/Botan-${PV}"
inherit python3native siteinfo lib_package
inherit python3native siteinfo lib_package ptest
CPU ?= "${TARGET_ARCH}"
CPU:x86 = "x86_32"
@ -55,7 +56,8 @@ FILES:${PN}-python3 = "${libdir}/python3"
RDEPENDS:${PN}-python3 += "python3"
RDEPENDS:${PN}-bin += "${PN}"
RDEPENDS:${PN}-test += "${PN}"
RDEPENDS:${PN}-test += "${PN} ca-certificates"
RDEPENDS:${PN}-ptest += "${PN}-test"
FILES:${PN}:remove = "${bindir}/*"
FILES:${PN}-bin:remove = "${bindir}/*"
FILES:${PN}-bin = "${bindir}/botan"