| Message ID | 20260128140635.43214-1-pratik.farkase@est.tech |
|---|---|
| State | Accepted, archived |
| Commit | 4c31a7b410fc9c14815c6853431c7bd56c0e173c |
| Headers | show |
| Series | [v1] libconfig: add ptest support | expand |
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<pratik.farkase@est.tech> > --- > .../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<pver>\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] > -=-=-=-=-=-=-=-=-=-=-=- >
Hi Randy, Good catch! You're absolutely right - the bash dependency was unnecessary. I've removed the RDEPENDS on bash. Patch v2 is sent separately. Thanks for the review! Best Regards, Pratik
Unfortunately this was merged to master prematurely, and I just had to sent a revert: https://lists.openembedded.org/g/openembedded-core/message/230509 Please address the issues and resend. Alex On Thu, 29 Jan 2026 at 09:33, Pratik Farkase via lists.openembedded.org <pratik.farkase=est.tech@lists.openembedded.org> wrote: > > Hi Randy, > > Good catch! You're absolutely right - the bash dependency was unnecessary. > > I've removed the RDEPENDS on bash. Patch v2 is sent separately. > > Thanks for the review! > > Best Regards, > Pratik > > ________________________________________ > From: Randy MacLeod <randy.macleod@windriver.com> > Sent: Thursday, January 29, 2026 1:26 AM > To: Pratik Farkase; openembedded-core@lists.openembedded.org > Cc: pratik.farkase@ericsson.com > Subject: Re: [OE-core][PATCH v1] libconfig: add ptest support > > 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 <pratik.farkase@est.tech><mailto:pratik.farkase@est.tech> > --- > .../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"<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<pver>\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 += "<mailto:@@-27,3+28,21@@do_compile:prepend(){rm-f${S}/lib/grammar.[ch]rm-f${S}/lib/scanner.[ch]}++do_compile_ptest(){+oe_runmake-CtestscheckTESTS=+}++do_install_ptest(){+install-d${D}${PTEST_PATH}/tests++if[-f${B}/tests/libconfig_tests];then+libtool--mode=installinstall-m0755${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 > > > > > > > > > > > > > -- > # Randy MacLeod > # Wind River Linux > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#230125): https://lists.openembedded.org/g/openembedded-core/message/230125 > Mute This Topic: https://lists.openembedded.org/mt/117507676/1686489 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
On Wed Feb 4, 2026 at 12:09 PM CET, Alexander Kanavin via lists.openembedded.org wrote: > Unfortunately this was merged to master prematurely, and I just had to > sent a revert: > > https://lists.openembedded.org/g/openembedded-core/message/230509 > > Please address the issues and resend. > > Alex > Just to be clear: the v2 was merged, not this v1. Yet, I confirm we have the issues mentioned by Alex. Thanks, Mathieu
Hi, Thanks for catching this error. I have sent a v3 separately. Best Regards, Pratik
I am struggling to see if there are any differences in v3 compared to v2 though. Can you point them out please? Alex On Wed, 4 Feb 2026 at 16:12, Pratik Farkase <pratik.farkase@est.tech> wrote: > > Hi, > > Thanks for catching this error. I have sent a v3 separately. > > Best Regards, > Pratik > > ________________________________________ > From: Alexander Kanavin <alex.kanavin@gmail.com> > Sent: Wednesday, February 4, 2026 12:09 PM > To: Pratik Farkase > Cc: Randy MacLeod; openembedded-core@lists.openembedded.org; pratik.farkase@ericsson.com; Richard Purdie > Subject: Re: [OE-core][PATCH v1] libconfig: add ptest support > > Unfortunately this was merged to master prematurely, and I just had to > sent a revert: > > https://lists.openembedded.org/g/openembedded-core/message/230509 > > Please address the issues and resend. > > Alex > > > On Thu, 29 Jan 2026 at 09:33, Pratik Farkase via > lists.openembedded.org > <pratik.farkase=est.tech@lists.openembedded.org> wrote: > > > > Hi Randy, > > > > Good catch! You're absolutely right - the bash dependency was unnecessary. > > > > I've removed the RDEPENDS on bash. Patch v2 is sent separately. > > > > Thanks for the review! > > > > Best Regards, > > Pratik > > > > ________________________________________ > > From: Randy MacLeod <randy.macleod@windriver.com> > > Sent: Thursday, January 29, 2026 1:26 AM > > To: Pratik Farkase; openembedded-core@lists.openembedded.org > > Cc: pratik.farkase@ericsson.com > > Subject: Re: [OE-core][PATCH v1] libconfig: add ptest support > > > > 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 <pratik.farkase@est.tech><mailto:pratik.farkase@est.tech> > > --- > > .../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"<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<pver>\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 += "<mailto:@@-27,3+28,21@@do_compile:prepend(){rm-f${S}/lib/grammar.[ch]rm-f${S}/lib/scanner.[ch]}++do_compile_ptest(){+oe_runmake-CtestscheckTESTS=+}++do_install_ptest(){+install-d${D}${PTEST_PATH}/tests++if[-f${B}/tests/libconfig_tests];then+libtool--mode=installinstall-m0755${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 > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > # Randy MacLeod > > # Wind River Linux > > > > -=-=-=-=-=-=-=-=-=-=-=- > > Links: You receive all messages sent to this group. > > View/Reply Online (#230125): https://lists.openembedded.org/g/openembedded-core/message/230125 > > Mute This Topic: https://lists.openembedded.org/mt/117507676/1686489 > > Group Owner: openembedded-core+owner@lists.openembedded.org > > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com] > > -=-=-=-=-=-=-=-=-=-=-=- > >
We use ${B}/libtool instead of libtool from PATH. The build was invoking the host/native libtool instead of the
package-specific libtool generated during the configure step.
Best Regards,
Pratik
Hi Alex, On 2/4/26 4:14 PM, Alexander Kanavin via lists.openembedded.org wrote: > I am struggling to see if there are any differences in v3 compared to > v2 though. Can you point them out please? > b4 may help you with that: b4 diff -v 2 3 -- https://lore.kernel.org/openembedded-core/CANNYZj8E3-sucj4aqHh-OqzV0Z668aZ+YKUpLWccQboCEgNWHg@mail.gmail.com/T/\#t Cheers, Quentin
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<pver>\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"
Add ptest support to enable automated testing of libconfig using ptest-runner. 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 <pratik.farkase@est.tech> --- .../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