* [PATCH] libcheck: add ptest support
@ 2025-11-14 1:41 Pratik Farkase
2025-11-18 12:10 ` [OE-core] " Ross Burton
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Pratik Farkase @ 2025-11-14 1:41 UTC (permalink / raw)
To: openembedded-core; +Cc: pratik.farkase, Pratik Farkase
Add package test (ptest) support to libcheck recipe to enable
running the test suite on target devices.
The implementation installs:
- Test binaries (check_check, check_check_export)
- Test helper binaries and scripts
- Shell script tests that validate various output formats
- Test configuration files
All 9 upstream tests pass successfully:
START: ptest-runner
BEGIN: /usr/lib/libcheck/ptest
PASS: check_check_export
PASS: check_check
PASS: test_output.sh
PASS: test_check_nofork.sh
PASS: test_check_nofork_teardown.sh
PASS: test_xml_output.sh
PASS: test_log_output.sh
PASS: test_set_max_msg_size.sh
PASS: test_tap_output.sh
END: /usr/lib/libcheck/ptest
STOP: ptest-runner
Note: The test_vars SRCDIR path is set to /usr/src/debug/libcheck/0.15.2/tests
to match the debug source paths embedded in compiled binaries.
Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
---
.../distro/include/ptest-packagelists.inc | 1 +
.../libcheck/libcheck/run-ptest | 36 ++++++++++++++++++
.../libcheck/libcheck_0.15.2.bb | 37 ++++++++++++++++++-
3 files changed, 73 insertions(+), 1 deletion(-)
create mode 100644 meta/recipes-support/libcheck/libcheck/run-ptest
diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 06d113e264..3cd5f244be 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -28,6 +28,7 @@ PTESTS_FAST = "\
icu \
json-c \
json-glib \
+ libcheck \
libconvert-asn1-perl \
libexif \
libgpg-error\
diff --git a/meta/recipes-support/libcheck/libcheck/run-ptest b/meta/recipes-support/libcheck/libcheck/run-ptest
new file mode 100644
index 0000000000..fe252bc33d
--- /dev/null
+++ b/meta/recipes-support/libcheck/libcheck/run-ptest
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+# run-ptest script for libcheck
+# Runs the libcheck test suite and outputs results in ptest format
+
+cd tests || exit 1
+
+for test in check_check_export check_check; do
+ if [ -x ./$test ]; then
+ ./$test > /dev/null 2>&1
+ if [ $? -eq 0 ]; then
+ echo "PASS: $test"
+ else
+ echo "FAIL: $test"
+ fi
+ else
+ echo "SKIP: $test"
+ fi
+done
+
+for test in test_output.sh test_check_nofork.sh test_check_nofork_teardown.sh \
+ test_xml_output.sh test_log_output.sh test_set_max_msg_size.sh \
+ test_tap_output.sh; do
+ if [ -x ./$test ]; then
+ ./$test > /dev/null 2>&1
+ if [ $? -eq 0 ]; then
+ echo "PASS: $test"
+ else
+ echo "FAIL: $test"
+ fi
+ else
+ echo "SKIP: $test"
+ fi
+done
+
+exit 0
diff --git a/meta/recipes-support/libcheck/libcheck_0.15.2.bb b/meta/recipes-support/libcheck/libcheck_0.15.2.bb
index adf95f5040..52df7c22bb 100644
--- a/meta/recipes-support/libcheck/libcheck_0.15.2.bb
+++ b/meta/recipes-support/libcheck/libcheck_0.15.2.bb
@@ -14,6 +14,7 @@ SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/check-${PV}.tar.gz \
file://automake-output.patch \
file://subunit.patch \
file://0001-Fix-texinfo-errors-and-warnings.patch \
+ file://run-ptest \
"
SRC_URI[sha256sum] = "a8de4e0bacfb4d76dd1c618ded263523b53b85d92a146d8835eb1a52932fa20a"
@@ -21,17 +22,51 @@ GITHUB_BASE_URI = "https://github.com/libcheck/check/releases/"
S = "${UNPACKDIR}/check-${PV}"
-inherit cmake pkgconfig texinfo github-releases
+inherit cmake pkgconfig texinfo github-releases ptest
RREPLACES:${PN} = "check (<= 0.9.5)"
EXTRA_OECMAKE:append:class-target = " -DAWK_PATH=${bindir}/awk"
EXTRA_OECMAKE = "-DENABLE_SUBUNIT_EXT=OFF"
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+
+ install -m 0755 ${B}/tests/check_check ${D}${PTEST_PATH}/tests/
+ install -m 0755 ${B}/tests/check_check_export ${D}${PTEST_PATH}/tests/
+
+ for binary in ${B}/tests/*; do
+ if [ -f "$binary" ] && [ -x "$binary" ]; then
+ case "$binary" in
+ *.sh) ;;
+ *) install -m 0755 "$binary" ${D}${PTEST_PATH}/tests/ || true ;;
+ esac
+ fi
+ done
+
+ for script in test_output.sh test_check_nofork.sh test_check_nofork_teardown.sh \
+ test_xml_output.sh test_log_output.sh test_set_max_msg_size.sh \
+ test_tap_output.sh; do
+ install -m 0755 ${S}/tests/$script ${D}${PTEST_PATH}/tests/
+ done
+
+ install -m 0755 ${S}/tests/test_output_strings ${D}${PTEST_PATH}/tests/
+
+ if [ -f ${B}/tests/test_vars ]; then
+ install -m 0644 ${B}/tests/test_vars ${D}${PTEST_PATH}/tests/
+ sed -i \
+ -e 's|if \[ x"[^"]*" != x"\." \];|if \[ x"/usr/src/debug/libcheck/0.15.2/tests" != x"." \];|g' \
+ -e 's|SRCDIR="[^"]*"|SRCDIR="/usr/src/debug/libcheck/0.15.2/tests/"|g' \
+ ${D}${PTEST_PATH}/tests/test_vars
+ fi
+}
+
do_install:append:class-native() {
create_cmdline_shebang_wrapper ${D}${bindir}/checkmk
}
+RDEPENDS:${PN}-ptest += "bash libcheck"
+
BBCLASSEXTEND = "native nativesdk"
PACKAGES =+ "checkmk"
--
2.43.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [OE-core] [PATCH] libcheck: add ptest support
2025-11-14 1:41 [PATCH] libcheck: add ptest support Pratik Farkase
@ 2025-11-18 12:10 ` Ross Burton
2025-11-18 13:45 ` Pratik Farkase
2025-11-21 13:24 ` [OE-core][PATCH v2] " Pratik Farkase
2026-01-07 9:15 ` Pratik Farkase
2 siblings, 1 reply; 6+ messages in thread
From: Ross Burton @ 2025-11-18 12:10 UTC (permalink / raw)
To: pratik.farkase@est.tech
Cc: openembedded-core@lists.openembedded.org,
pratik.farkase@ericsson.com
Hi Pratik,
Thanks for adding a new test case. Some comments:
> On 14 Nov 2025, at 01:41, Pratik Farkase via lists.openembedded.org <pratik.farkase=est.tech@lists.openembedded.org> wrote:
> +for test in check_check_export check_check; do
> + if [ -x ./$test ]; then
> + ./$test > /dev/null 2>&1
> + if [ $? -eq 0 ]; then
> + echo "PASS: $test"
> + else
> + echo "FAIL: $test"
> + fi
> + else
> + echo "SKIP: $test"
> + fi
> +done
> +
> +for test in test_output.sh test_check_nofork.sh test_check_nofork_teardown.sh \
> + test_xml_output.sh test_log_output.sh test_set_max_msg_size.sh \
> + test_tap_output.sh; do
> + if [ -x ./$test ]; then
> + ./$test > /dev/null 2>&1
> + if [ $? -eq 0 ]; then
> + echo "PASS: $test"
> + else
> + echo "FAIL: $test"
> + fi
> + else
> + echo "SKIP: $test"
> + fi
> +done
This looks like the same loop, twice. Why not merge them?
> + for binary in ${B}/tests/*; do
> + if [ -f "$binary" ] && [ -x "$binary" ]; then
> + case "$binary" in
> + *.sh) ;;
> + *) install -m 0755 "$binary" ${D}${PTEST_PATH}/tests/ || true ;;
Don’t ||true, if it fails we want this to fail.
Also considering the lists of tests is hardcoded in run-ptest _and_ upstream hasn’t been changed in four years, it might be easier to just hardcode the list of binaries that we install instead of playing games trying to identify the right output.
> + esac
> + fi
> + done
> +
> + for script in test_output.sh test_check_nofork.sh test_check_nofork_teardown.sh \
> + test_xml_output.sh test_log_output.sh test_set_max_msg_size.sh \
> + test_tap_output.sh; do
> + install -m 0755 ${S}/tests/$script ${D}${PTEST_PATH}/tests/
> + done
This is just test/*.sh, right?
> + install -m 0755 ${S}/tests/test_output_strings ${D}${PTEST_PATH}/tests/
> +
> + if [ -f ${B}/tests/test_vars ]; then
> + install -m 0644 ${B}/tests/test_vars ${D}${PTEST_PATH}/tests/
> + sed -i \
> + -e 's|if \[ x"[^"]*" != x"\." \];|if \[ x"/usr/src/debug/libcheck/0.15.2/tests" != x"." \];|g' \
> + -e 's|SRCDIR="[^"]*"|SRCDIR="/usr/src/debug/libcheck/0.15.2/tests/"|g' \
> + ${D}${PTEST_PATH}/tests/test_vars
Hard-coded paths that will break on upgrade. ${TARGET_DBGSRC_DIR} is the variable you want.
> +RDEPENDS:${PN}-ptest += "bash libcheck"
You can remove this: I don’t see any scripts that use bash, and the dependency on libcheck will be generated automatically.
Thanks,
Ross
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [OE-core] [PATCH] libcheck: add ptest support
2025-11-18 12:10 ` [OE-core] " Ross Burton
@ 2025-11-18 13:45 ` Pratik Farkase
0 siblings, 0 replies; 6+ messages in thread
From: Pratik Farkase @ 2025-11-18 13:45 UTC (permalink / raw)
To: Ross Burton
Cc: openembedded-core@lists.openembedded.org,
pratik.farkase@ericsson.com
Hi Ross,
Thank you for the detailed review and feedback!
I've addressed all your comments in v2:
1. Merged the duplicate test loops into a single loop
2. Removed || true from install commands
3. Hardcoded the list of helper binaries to install instead of dynamic detection
4. Simplified shell script installation using *.sh glob
5. Used ${TARGET_DBGSRC_DIR} instead of hardcoded /usr/src/debug path
6. Removed redundant RDEPENDS (bash and libcheck)
All 9 tests continue to pass on qemux86-64.
v2 patch is attached/sent separately.
Thanks again for the review!
Best Regards,
Pratik
________________________________________
From: Ross Burton <Ross.Burton@arm.com>
Sent: Tuesday, November 18, 2025 1:10 PM
To: Pratik Farkase
Cc: openembedded-core@lists.openembedded.org; pratik.farkase@ericsson.com
Subject: Re: [OE-core] [PATCH] libcheck: add ptest support
Hi Pratik,
Thanks for adding a new test case. Some comments:
> On 14 Nov 2025, at 01:41, Pratik Farkase via lists.openembedded.org <pratik.farkase=est.tech@lists.openembedded.org> wrote:
> +for test in check_check_export check_check; do
> + if [ -x ./$test ]; then
> + ./$test > /dev/null 2>&1
> + if [ $? -eq 0 ]; then
> + echo "PASS: $test"
> + else
> + echo "FAIL: $test"
> + fi
> + else
> + echo "SKIP: $test"
> + fi
> +done
> +
> +for test in test_output.sh test_check_nofork.sh test_check_nofork_teardown.sh \
> + test_xml_output.sh test_log_output.sh test_set_max_msg_size.sh \
> + test_tap_output.sh; do
> + if [ -x ./$test ]; then
> + ./$test > /dev/null 2>&1
> + if [ $? -eq 0 ]; then
> + echo "PASS: $test"
> + else
> + echo "FAIL: $test"
> + fi
> + else
> + echo "SKIP: $test"
> + fi
> +done
This looks like the same loop, twice. Why not merge them?
> + for binary in ${B}/tests/*; do
> + if [ -f "$binary" ] && [ -x "$binary" ]; then
> + case "$binary" in
> + *.sh) ;;
> + *) install -m 0755 "$binary" ${D}${PTEST_PATH}/tests/ || true ;;
Don’t ||true, if it fails we want this to fail.
Also considering the lists of tests is hardcoded in run-ptest _and_ upstream hasn’t been changed in four years, it might be easier to just hardcode the list of binaries that we install instead of playing games trying to identify the right output.
> + esac
> + fi
> + done
> +
> + for script in test_output.sh test_check_nofork.sh test_check_nofork_teardown.sh \
> + test_xml_output.sh test_log_output.sh test_set_max_msg_size.sh \
> + test_tap_output.sh; do
> + install -m 0755 ${S}/tests/$script ${D}${PTEST_PATH}/tests/
> + done
This is just test/*.sh, right?
> + install -m 0755 ${S}/tests/test_output_strings ${D}${PTEST_PATH}/tests/
> +
> + if [ -f ${B}/tests/test_vars ]; then
> + install -m 0644 ${B}/tests/test_vars ${D}${PTEST_PATH}/tests/
> + sed -i \
> + -e 's|if \[ x"[^"]*" != x"\." \];|if \[ x"/usr/src/debug/libcheck/0.15.2/tests" != x"." \];|g' \
> + -e 's|SRCDIR="[^"]*"|SRCDIR="/usr/src/debug/libcheck/0.15.2/tests/"|g' \
> + ${D}${PTEST_PATH}/tests/test_vars
Hard-coded paths that will break on upgrade. ${TARGET_DBGSRC_DIR} is the variable you want.
> +RDEPENDS:${PN}-ptest += "bash libcheck"
You can remove this: I don’t see any scripts that use bash, and the dependency on libcheck will be generated automatically.
Thanks,
Ross
^ permalink raw reply [flat|nested] 6+ messages in thread
* [OE-core][PATCH v2] libcheck: add ptest support
2025-11-14 1:41 [PATCH] libcheck: add ptest support Pratik Farkase
2025-11-18 12:10 ` [OE-core] " Ross Burton
@ 2025-11-21 13:24 ` Pratik Farkase
2026-01-07 9:15 ` Pratik Farkase
2 siblings, 0 replies; 6+ messages in thread
From: Pratik Farkase @ 2025-11-21 13:24 UTC (permalink / raw)
To: openembedded-core; +Cc: pratik.farkase, Pratik Farkase
Add package test (ptest) support to libcheck recipe to enable
running the test suite on target devices.
The implementation installs:
- Test binaries (check_check, check_check_export)
- Test helper binaries and scripts
- Shell script tests that validate various output formats
- Test configuration files
All 9 upstream tests pass successfully:
START: ptest-runner
BEGIN: /usr/lib/libcheck/ptest
PASS: check_check_export
PASS: check_check
PASS: test_output.sh
PASS: test_check_nofork.sh
PASS: test_check_nofork_teardown.sh
PASS: test_xml_output.sh
PASS: test_log_output.sh
PASS: test_set_max_msg_size.sh
PASS: test_tap_output.sh
END: /usr/lib/libcheck/ptest
STOP: ptest-runner
Note: The test_vars SRCDIR path is set to /usr/src/debug/libcheck/0.15.2/tests
to match the debug source paths embedded in compiled binaries.
Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
---
Changes in v2:
- Merged duplicate test loops in run-ptest
- Hardcoded binary list instead of dynamic detection
- Use *.sh glob for installing test scripts
- Use ${TARGET_DBGSRC_DIR} instead of hardcoded path
- Removed redundant RDEPENDS
---
.../distro/include/ptest-packagelists.inc | 1 +
.../libcheck/libcheck/run-ptest | 24 ++++++++++++++++
.../libcheck/libcheck_0.15.2.bb | 28 +++++++++++++++++--
3 files changed, 51 insertions(+), 2 deletions(-)
create mode 100644 meta/recipes-support/libcheck/libcheck/run-ptest
diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 06d113e264..3cd5f244be 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -28,6 +28,7 @@ PTESTS_FAST = "\
icu \
json-c \
json-glib \
+ libcheck \
libconvert-asn1-perl \
libexif \
libgpg-error\
diff --git a/meta/recipes-support/libcheck/libcheck/run-ptest b/meta/recipes-support/libcheck/libcheck/run-ptest
new file mode 100644
index 0000000000..6523b1d146
--- /dev/null
+++ b/meta/recipes-support/libcheck/libcheck/run-ptest
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+# run-ptest script for libcheck
+# Runs the libcheck test suite and outputs results in ptest format
+
+cd tests || exit 1
+
+for test in check_check_export check_check \
+ test_output.sh test_check_nofork.sh test_check_nofork_teardown.sh \
+ test_xml_output.sh test_log_output.sh test_set_max_msg_size.sh \
+ test_tap_output.sh; do
+ if [ -x ./$test ]; then
+ ./$test > /dev/null 2>&1
+ if [ $? -eq 0 ]; then
+ echo "PASS: $test"
+ else
+ echo "FAIL: $test"
+ fi
+ else
+ echo "SKIP: $test"
+ fi
+done
+
+exit 0
diff --git a/meta/recipes-support/libcheck/libcheck_0.15.2.bb b/meta/recipes-support/libcheck/libcheck_0.15.2.bb
index adf95f5040..e45c1d0264 100644
--- a/meta/recipes-support/libcheck/libcheck_0.15.2.bb
+++ b/meta/recipes-support/libcheck/libcheck_0.15.2.bb
@@ -6,7 +6,6 @@ segmentation faults or other signals can be caught. Test results are \
reportable in the following: Subunit, TAP, XML, and a generic logging format."
HOMEPAGE = "https://libcheck.github.io/check/"
SECTION = "devel"
-
LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=2d5025d4aa3495befef8f17206a5b0a1"
@@ -14,20 +13,45 @@ SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/check-${PV}.tar.gz \
file://automake-output.patch \
file://subunit.patch \
file://0001-Fix-texinfo-errors-and-warnings.patch \
+ file://run-ptest \
"
SRC_URI[sha256sum] = "a8de4e0bacfb4d76dd1c618ded263523b53b85d92a146d8835eb1a52932fa20a"
+
GITHUB_BASE_URI = "https://github.com/libcheck/check/releases/"
S = "${UNPACKDIR}/check-${PV}"
-inherit cmake pkgconfig texinfo github-releases
+inherit cmake pkgconfig texinfo github-releases ptest
RREPLACES:${PN} = "check (<= 0.9.5)"
EXTRA_OECMAKE:append:class-target = " -DAWK_PATH=${bindir}/awk"
EXTRA_OECMAKE = "-DENABLE_SUBUNIT_EXT=OFF"
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+
+ install -m 0755 ${B}/tests/check_check ${D}${PTEST_PATH}/tests/
+ install -m 0755 ${B}/tests/check_check_export ${D}${PTEST_PATH}/tests/
+ install -m 0755 ${B}/tests/ex_output ${D}${PTEST_PATH}/tests/
+ install -m 0755 ${B}/tests/check_nofork ${D}${PTEST_PATH}/tests/
+ install -m 0755 ${B}/tests/check_nofork_teardown ${D}${PTEST_PATH}/tests/
+ install -m 0755 ${B}/tests/check_set_max_msg_size ${D}${PTEST_PATH}/tests/
+
+ install -m 0755 ${S}/tests/*.sh ${D}${PTEST_PATH}/tests/
+
+ install -m 0755 ${S}/tests/test_output_strings ${D}${PTEST_PATH}/tests/
+
+ if [ -f ${B}/tests/test_vars ]; then
+ install -m 0644 ${B}/tests/test_vars ${D}${PTEST_PATH}/tests/
+ sed -i \
+ -e 's|if \[ x"[^"]*" != x"\." \];|if \[ x"${TARGET_DBGSRC_DIR}/tests" != x"." \];|g' \
+ -e 's|SRCDIR="[^"]*"|SRCDIR="${TARGET_DBGSRC_DIR}/tests/"|g' \
+ ${D}${PTEST_PATH}/tests/test_vars
+ fi
+}
+
do_install:append:class-native() {
create_cmdline_shebang_wrapper ${D}${bindir}/checkmk
}
--
2.43.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [OE-core][PATCH v2] libcheck: add ptest support
2025-11-14 1:41 [PATCH] libcheck: add ptest support Pratik Farkase
2025-11-18 12:10 ` [OE-core] " Ross Burton
2025-11-21 13:24 ` [OE-core][PATCH v2] " Pratik Farkase
@ 2026-01-07 9:15 ` Pratik Farkase
2026-01-07 15:39 ` Mathieu Dubois-Briand
2 siblings, 1 reply; 6+ messages in thread
From: Pratik Farkase @ 2026-01-07 9:15 UTC (permalink / raw)
To: openembedded-core; +Cc: pratik.farkase, Pratik Farkase
Add package test (ptest) support to libcheck recipe to enable
running the test suite on target devices.
The implementation installs:
- Test binaries (check_check, check_check_export)
- Test helper binaries and scripts
- Shell script tests that validate various output formats
- Test configuration files
All 9 upstream tests pass successfully:
START: ptest-runner
BEGIN: /usr/lib/libcheck/ptest
PASS: check_check_export
PASS: check_check
PASS: test_output.sh
PASS: test_check_nofork.sh
PASS: test_check_nofork_teardown.sh
PASS: test_xml_output.sh
PASS: test_log_output.sh
PASS: test_set_max_msg_size.sh
PASS: test_tap_output.sh
END: /usr/lib/libcheck/ptest
STOP: ptest-runner
Note: The test_vars SRCDIR path is set to /usr/src/debug/libcheck/0.15.2/tests
to match the debug source paths embedded in compiled binaries.
Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
---
Changes in v2:
- Merged duplicate test loops in run-ptest
- Hardcoded binary list instead of dynamic detection
- Use *.sh glob for installing test scripts
- Use ${TARGET_DBGSRC_DIR} instead of hardcoded path
- Removed redundant RDEPENDS
---
.../distro/include/ptest-packagelists.inc | 1 +
.../libcheck/libcheck/run-ptest | 24 ++++++++++++++++
.../libcheck/libcheck_0.15.2.bb | 28 +++++++++++++++++--
3 files changed, 51 insertions(+), 2 deletions(-)
create mode 100644 meta/recipes-support/libcheck/libcheck/run-ptest
diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 06d113e264..3cd5f244be 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -28,6 +28,7 @@ PTESTS_FAST = "\
icu \
json-c \
json-glib \
+ libcheck \
libconvert-asn1-perl \
libexif \
libgpg-error\
diff --git a/meta/recipes-support/libcheck/libcheck/run-ptest b/meta/recipes-support/libcheck/libcheck/run-ptest
new file mode 100644
index 0000000000..6523b1d146
--- /dev/null
+++ b/meta/recipes-support/libcheck/libcheck/run-ptest
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+# run-ptest script for libcheck
+# Runs the libcheck test suite and outputs results in ptest format
+
+cd tests || exit 1
+
+for test in check_check_export check_check \
+ test_output.sh test_check_nofork.sh test_check_nofork_teardown.sh \
+ test_xml_output.sh test_log_output.sh test_set_max_msg_size.sh \
+ test_tap_output.sh; do
+ if [ -x ./$test ]; then
+ ./$test > /dev/null 2>&1
+ if [ $? -eq 0 ]; then
+ echo "PASS: $test"
+ else
+ echo "FAIL: $test"
+ fi
+ else
+ echo "SKIP: $test"
+ fi
+done
+
+exit 0
diff --git a/meta/recipes-support/libcheck/libcheck_0.15.2.bb b/meta/recipes-support/libcheck/libcheck_0.15.2.bb
index adf95f5040..e45c1d0264 100644
--- a/meta/recipes-support/libcheck/libcheck_0.15.2.bb
+++ b/meta/recipes-support/libcheck/libcheck_0.15.2.bb
@@ -6,7 +6,6 @@ segmentation faults or other signals can be caught. Test results are \
reportable in the following: Subunit, TAP, XML, and a generic logging format."
HOMEPAGE = "https://libcheck.github.io/check/"
SECTION = "devel"
-
LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=2d5025d4aa3495befef8f17206a5b0a1"
@@ -14,20 +13,45 @@ SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/check-${PV}.tar.gz \
file://automake-output.patch \
file://subunit.patch \
file://0001-Fix-texinfo-errors-and-warnings.patch \
+ file://run-ptest \
"
SRC_URI[sha256sum] = "a8de4e0bacfb4d76dd1c618ded263523b53b85d92a146d8835eb1a52932fa20a"
+
GITHUB_BASE_URI = "https://github.com/libcheck/check/releases/"
S = "${UNPACKDIR}/check-${PV}"
-inherit cmake pkgconfig texinfo github-releases
+inherit cmake pkgconfig texinfo github-releases ptest
RREPLACES:${PN} = "check (<= 0.9.5)"
EXTRA_OECMAKE:append:class-target = " -DAWK_PATH=${bindir}/awk"
EXTRA_OECMAKE = "-DENABLE_SUBUNIT_EXT=OFF"
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+
+ install -m 0755 ${B}/tests/check_check ${D}${PTEST_PATH}/tests/
+ install -m 0755 ${B}/tests/check_check_export ${D}${PTEST_PATH}/tests/
+ install -m 0755 ${B}/tests/ex_output ${D}${PTEST_PATH}/tests/
+ install -m 0755 ${B}/tests/check_nofork ${D}${PTEST_PATH}/tests/
+ install -m 0755 ${B}/tests/check_nofork_teardown ${D}${PTEST_PATH}/tests/
+ install -m 0755 ${B}/tests/check_set_max_msg_size ${D}${PTEST_PATH}/tests/
+
+ install -m 0755 ${S}/tests/*.sh ${D}${PTEST_PATH}/tests/
+
+ install -m 0755 ${S}/tests/test_output_strings ${D}${PTEST_PATH}/tests/
+
+ if [ -f ${B}/tests/test_vars ]; then
+ install -m 0644 ${B}/tests/test_vars ${D}${PTEST_PATH}/tests/
+ sed -i \
+ -e 's|if \[ x"[^"]*" != x"\." \];|if \[ x"${TARGET_DBGSRC_DIR}/tests" != x"." \];|g' \
+ -e 's|SRCDIR="[^"]*"|SRCDIR="${TARGET_DBGSRC_DIR}/tests/"|g' \
+ ${D}${PTEST_PATH}/tests/test_vars
+ fi
+}
+
do_install:append:class-native() {
create_cmdline_shebang_wrapper ${D}${bindir}/checkmk
}
--
2.43.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [OE-core][PATCH v2] libcheck: add ptest support
2026-01-07 9:15 ` Pratik Farkase
@ 2026-01-07 15:39 ` Mathieu Dubois-Briand
0 siblings, 0 replies; 6+ messages in thread
From: Mathieu Dubois-Briand @ 2026-01-07 15:39 UTC (permalink / raw)
To: Pratik Farkase, openembedded-core; +Cc: pratik.farkase
On Wed Jan 7, 2026 at 10:15 AM CET, Pratik Farkase wrote:
> Add package test (ptest) support to libcheck recipe to enable
> running the test suite on target devices.
>
> The implementation installs:
> - Test binaries (check_check, check_check_export)
> - Test helper binaries and scripts
> - Shell script tests that validate various output formats
> - Test configuration files
>
> All 9 upstream tests pass successfully:
> START: ptest-runner
> BEGIN: /usr/lib/libcheck/ptest
> PASS: check_check_export
> PASS: check_check
> PASS: test_output.sh
> PASS: test_check_nofork.sh
> PASS: test_check_nofork_teardown.sh
> PASS: test_xml_output.sh
> PASS: test_log_output.sh
> PASS: test_set_max_msg_size.sh
> PASS: test_tap_output.sh
> END: /usr/lib/libcheck/ptest
> STOP: ptest-runner
>
> Note: The test_vars SRCDIR path is set to /usr/src/debug/libcheck/0.15.2/tests
> to match the debug source paths embedded in compiled binaries.
>
> Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
>
> ---
Hi Pratik,
Is that a new version? How does it differ from the version already
merged?
https://git.openembedded.org/openembedded-core/commit/?id=1bb06e23c1c87829e5c4211e34229305c7d5f851
Thanks,
Mathieu
--
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-01-07 15:39 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-14 1:41 [PATCH] libcheck: add ptest support Pratik Farkase
2025-11-18 12:10 ` [OE-core] " Ross Burton
2025-11-18 13:45 ` Pratik Farkase
2025-11-21 13:24 ` [OE-core][PATCH v2] " Pratik Farkase
2026-01-07 9:15 ` Pratik Farkase
2026-01-07 15:39 ` Mathieu Dubois-Briand
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox