Hi Pratik, On 2026-01-28 9:06 a.m., Pratik Farkase via lists.openembedded.org wrote: > Add ptest support to enable automated testing of libconfig > using ptest-runner. Nice, thanks. > > The implementation uses libtool --mode=install to properly > install test binaries, avoiding issues with libtool wrapper > scripts. Tests are built via 'make check TESTS=' to compile > without running during the build phase. > > The test suite includes 16 tests covering parsing, formatting, > binary/hex values, escaped strings, and various edge cases. > All tests pass successfully on qemux86-64 : > START: ptest-runner > BEGIN: /usr/lib/libconfig/ptest > [TEST] ParsingAndFormatting > parsing testdata/input_0.cfg > parsing testdata/input_1.cfg > parsing testdata/input_2.cfg > parsing testdata/input_3.cfg > parsing testdata/input_4.cfg > parsing testdata/input_5.cfg > parsing testdata/input_6.cfg > parsing testdata/input_7.cfg > [ OK ] ParsingAndFormatting > > [TEST] ParseInvalidFiles > [ OK ] ParseInvalidFiles > > [TEST] ParseInvalidStrings > [ OK ] ParseInvalidStrings > > [TEST] BigInt1 > [ OK ] BigInt1 > > [TEST] BigInt2 > [ OK ] BigInt2 > > [TEST] BigInt3 > [ OK ] BigInt3 > > [TEST] BigInt4 > [ OK ] BigInt4 > > [TEST] BigInt5 > [ OK ] BigInt5 > > [TEST] BigInt6 > [ OK ] BigInt6 > > [TEST] BigInt7 > [ OK ] BigInt7 > > [TEST] RemoveSetting > [ OK ] RemoveSetting > > [TEST] EscapedStrings > [ OK ] EscapedStrings > > [TEST] OverrideSetting > [ OK ] OverrideSetting > > [TEST] SettingLookups > [ OK ] SettingLookups > > [TEST] ReadStream > [ OK ] ReadStream > > [TEST] BinaryAndHex > some auto big hex: 4294967296 > some auto big bin: 8589934591 > negativehex: -1430532899 > [ OK ] BinaryAndHex > > 16 tests; 16 passed, 0 failed > PASS: libconfig_tests > DURATION: 0 > END: /usr/lib/libconfig/ptest > STOP: ptest-runner > TOTAL: 1 FAIL: 0 > > Change-Id: Ibd69ccd63ce0168571d46a199c08be59ea748d69 > Signed-off-by: Pratik Farkase > --- > .../distro/include/ptest-packagelists.inc | 1 + > .../libconfig/libconfig/run-ptest | 16 ++++++++++++++ > .../libconfig/libconfig_1.8.2.bb | 21 ++++++++++++++++++- > 3 files changed, 37 insertions(+), 1 deletion(-) > create mode 100755 meta/recipes-extended/libconfig/libconfig/run-ptest > > diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc > index 739995bcfe..7c5810f252 100644 > --- a/meta/conf/distro/include/ptest-packagelists.inc > +++ b/meta/conf/distro/include/ptest-packagelists.inc > @@ -29,6 +29,7 @@ PTESTS_FAST = "\ > json-c \ > json-glib \ > libcheck \ > + libconfig \ > libconvert-asn1-perl \ > libexif \ > libgpg-error\ > diff --git a/meta/recipes-extended/libconfig/libconfig/run-ptest b/meta/recipes-extended/libconfig/libconfig/run-ptest > new file mode 100755 > index 0000000000..d81fcf4def > --- /dev/null > +++ b/meta/recipes-extended/libconfig/libconfig/run-ptest > @@ -0,0 +1,16 @@ > +#!/bin/sh > + > +cd tests > + > +for t in libconfig_tests; do > + if [ -x ./$t ]; then > + ./$t > + if [ $? -eq 0 ]; then > + echo "PASS: $t" > + else > + echo "FAIL: $t" > + fi > + else > + echo "SKIP: $t" > + fi > +done > diff --git a/meta/recipes-extended/libconfig/libconfig_1.8.2.bb b/meta/recipes-extended/libconfig/libconfig_1.8.2.bb > index 6e08a7b04b..9ae0ce2e6e 100644 > --- a/meta/recipes-extended/libconfig/libconfig_1.8.2.bb > +++ b/meta/recipes-extended/libconfig/libconfig_1.8.2.bb > @@ -9,6 +9,7 @@ LIC_FILES_CHKSUM ="file://COPYING.LIB;md5=17c8e32f0f72580cc2906b409d46b5ac" > > SRC_URI = " \ > git://github.com/hyperrealm/libconfig.git;protocol=https;branch=master;tag=v${PV} \ > +file://run-ptest \ > " > SRCREV = "a42cb47c1526a4f2ed025fcbb2289863375bc898" > > @@ -17,7 +18,7 @@ DEPENDS += "bison-native flex-native" > > UPSTREAM_CHECK_GITTAGREGEX = "^v(?P\d+(\.\d+)+)$" > > -inherit autotools pkgconfig > +inherit autotools pkgconfig ptest > > PACKAGE_BEFORE_PN = "${PN}++" > FILES:${PN}++ = "${libdir}/${BPN}++*${SOLIBS}" @@ -27,3 +28,21 @@ do_compile:prepend() { rm -f > ${S}/lib/grammar.[ch] rm -f ${S}/lib/scanner.[ch] } + > +do_compile_ptest() { + oe_runmake -C tests check TESTS= +} + > +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + + if [ -f > ${B}/tests/libconfig_tests ]; then + libtool --mode=install install -m > 0755 ${B}/tests/libconfig_tests > ${D}${PTEST_PATH}/tests/libconfig_tests + fi + + if [ -d > ${S}/tests/testdata ]; then + cp -r ${S}/tests/testdata > ${D}${PTEST_PATH}/tests/ + fi +} + +RDEPENDS:${PN}-ptest += "bash" Why do you need bash rather than any posix shell? We run the ptests in a minimal environment so if busybox shell works, please drop this. If not, please either remove the bash dependency or explain it in the commit log. Thanks, ../Randy > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#230097):https://lists.openembedded.org/g/openembedded-core/message/230097 > Mute This Topic:https://lists.openembedded.org/mt/117507676/3616765 > Group Owner:openembedded-core+owner@lists.openembedded.org > Unsubscribe:https://lists.openembedded.org/g/openembedded-core/unsub [randy.macleod@windriver.com] > -=-=-=-=-=-=-=-=-=-=-=- > -- # Randy MacLeod # Wind River Linux