* [OE-core][PATCH v1] psmisc: add ptest support
@ 2026-09-14 13:04 Pratik Farkase
2026-09-15 13:22 ` Antonin Godard
` (5 more replies)
0 siblings, 6 replies; 10+ messages in thread
From: Pratik Farkase @ 2026-09-14 13:04 UTC (permalink / raw)
To: openembedded-core; +Cc: pratik.farkase, Pratik Farkase
Add ptest support using psmisc's upstream DejaGnu testsuite, which
exercises killall, pslog and fuser via their .exp scripts. The tools and
the testsuite helper programs (socket_test, test-listen) are installed
under a src/ layout so the scripts' ${topdir}src/<tool> paths resolve on
target.
Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
---
.../distro/include/ptest-packagelists.inc | 1 +
meta/recipes-extended/psmisc/psmisc/run-ptest | 7 +++
meta/recipes-extended/psmisc/psmisc_23.7.bb | 45 ++++++++++++++++++-
3 files changed, 52 insertions(+), 1 deletion(-)
create mode 100644 meta/recipes-extended/psmisc/psmisc/run-ptest
diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 4012be5f49..f01abc4a57 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -68,6 +68,7 @@ PTESTS_FAST = "\
opkg \
popt \
procps \
+ psmisc \
python3-atomicwrites \
python3-attrs \
python3-bcrypt \
diff --git a/meta/recipes-extended/psmisc/psmisc/run-ptest b/meta/recipes-extended/psmisc/psmisc/run-ptest
new file mode 100644
index 0000000000..f4e79f5ae3
--- /dev/null
+++ b/meta/recipes-extended/psmisc/psmisc/run-ptest
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+cd ./testsuite
+for tool in @DEJATOOL@; do
+ runtest -a --tool $tool --outdir ../log
+done
+cd -
diff --git a/meta/recipes-extended/psmisc/psmisc_23.7.bb b/meta/recipes-extended/psmisc/psmisc_23.7.bb
index ad57c49ffe..3c768f4a86 100644
--- a/meta/recipes-extended/psmisc/psmisc_23.7.bb
+++ b/meta/recipes-extended/psmisc/psmisc_23.7.bb
@@ -13,10 +13,11 @@ LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
SRC_URI = "git://gitlab.com/psmisc/psmisc.git;protocol=https;branch=master;tag=v${PV} \
+ file://run-ptest \
"
SRCREV = "9091d6dbcce3d8fb87adf9249a2eb346d25a562c"
-inherit autotools gettext
+inherit autotools gettext ptest
# Upstream has a custom autogen.sh which invokes po/update-potfiles as they
# don't ship a po/POTFILES.in (which is silly). Without that file gettext
@@ -25,6 +26,48 @@ do_configure:prepend() {
( cd ${S} && po/update-potfiles )
}
+do_compile_ptest() {
+ for p in $(makefile-getvar ${B}/Makefile check_PROGRAMS); do
+ oe_runmake $p
+ done
+ oe_runmake -C testsuite site.exp
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/testsuite
+ install -d ${D}${PTEST_PATH}/src
+ install -d ${D}${PTEST_PATH}/log
+
+ cp -r ${S}/testsuite/* ${D}${PTEST_PATH}/testsuite/
+ install -m 0644 ${B}/testsuite/site.exp ${D}${PTEST_PATH}/testsuite/
+
+ # Tools exercised by the .exp scripts.
+ for p in killall pslog prtstat fuser; do
+ if [ -x ${B}/src/$p ]; then
+ install -m 0755 ${B}/src/$p ${D}${PTEST_PATH}/src/
+ fi
+ done
+
+ # Helper programs (check_PROGRAMS) used by the fuser tests.
+ for p in $(makefile-getvar ${B}/Makefile check_PROGRAMS); do
+ install -m 0755 ${B}/$p ${D}${PTEST_PATH}/src/
+ done
+
+ sed -i -e "s#@DEJATOOL@#$(makefile-getvar ${B}/testsuite/Makefile DEJATOOL)#" \
+ ${D}${PTEST_PATH}/run-ptest
+
+ sed -i -e "/set srcdir/c\\set srcdir ${PTEST_PATH}/testsuite" \
+ -e "/set objdir/c\\set objdir ${PTEST_PATH}/testsuite" \
+ ${D}${PTEST_PATH}/testsuite/site.exp
+}
+
+do_install_ptest_base:append() {
+ sed -i -e 's/^set \([a-zA-Z_]*\)$/set \1 ""/' \
+ ${D}${PTEST_PATH}/testsuite/site.exp
+}
+
+RDEPENDS:${PN}-ptest += "dejagnu"
+
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [OE-core][PATCH v1] psmisc: add ptest support
2026-09-14 13:04 [OE-core][PATCH v1] psmisc: add ptest support Pratik Farkase
@ 2026-09-15 13:22 ` Antonin Godard
2026-09-16 8:16 ` [OE-core][PATCH v2] " Pratik Farkase
` (4 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: Antonin Godard @ 2026-09-15 13:22 UTC (permalink / raw)
To: Pratik Farkase, openembedded-core; +Cc: pratik.farkase
Hi,
On Mon Sep 14, 2026 at 3:04 PM CEST, Pratik Farkase wrote:
> Add ptest support using psmisc's upstream DejaGnu testsuite, which
> exercises killall, pslog and fuser via their .exp scripts. The tools and
> the testsuite helper programs (socket_test, test-listen) are installed
> under a src/ layout so the scripts' ${topdir}src/<tool> paths resolve on
> target.
I'm seeing failures for these ptest on our test infrastructure:
AssertionError:
Failed ptests:
{'psmisc': ['fuser_-a_no_proc', 'fuser_-av,_no_proc', 'fuser_-va,_no_proc']}
Full log: https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/8929945/raw_inline
Similar failures:
https://autobuilder.yoctoproject.org/valkyrie/#/builders/61/builds/4533
https://autobuilder.yoctoproject.org/valkyrie/#/builders/73/builds/4560
Can you have a look at these?
Thanks,
Antonin
^ permalink raw reply [flat|nested] 10+ messages in thread
* [OE-core][PATCH v2] psmisc: add ptest support
2026-09-14 13:04 [OE-core][PATCH v1] psmisc: add ptest support Pratik Farkase
2026-09-15 13:22 ` Antonin Godard
@ 2026-09-16 8:16 ` Pratik Farkase
2026-09-16 8:31 ` Patchtest results for " patchtest
2026-09-16 9:15 ` Pratik Farkase
` (3 subsequent siblings)
5 siblings, 1 reply; 10+ messages in thread
From: Pratik Farkase @ 2026-09-16 8:16 UTC (permalink / raw)
To: openembedded-core; +Cc: pratik.farkase, Pratik Farkase
Add ptest support using psmisc's upstream DejaGnu testsuite, which
exercises killall, pslog and fuser via their .exp scripts. The tools and
the testsuite helper programs (socket_test, test-listen) are installed
under a src/ layout so the scripts' ${topdir}src/<tool> paths resolve on
target.
Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
---
Changes in v2:
- Point mktemp at a private, symlink-resolved TMPDIR in run-ptest
so the fuser -a/-av/-va tests do not fail intermittently on the
autobuilder when /tmp is a symlink or on a different mount.
.../distro/include/ptest-packagelists.inc | 1 +
meta/recipes-extended/psmisc/psmisc/run-ptest | 20 +++++++++
meta/recipes-extended/psmisc/psmisc_23.7.bb | 45 ++++++++++++++++++-
3 files changed, 65 insertions(+), 1 deletion(-)
create mode 100644 meta/recipes-extended/psmisc/psmisc/run-ptest
diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 4012be5f49..f01abc4a57 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -68,6 +68,7 @@ PTESTS_FAST = "\
opkg \
popt \
procps \
+ psmisc \
python3-atomicwrites \
python3-attrs \
python3-bcrypt \
diff --git a/meta/recipes-extended/psmisc/psmisc/run-ptest b/meta/recipes-extended/psmisc/psmisc/run-ptest
new file mode 100644
index 0000000000..ca7391b172
--- /dev/null
+++ b/meta/recipes-extended/psmisc/psmisc/run-ptest
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+cd ./testsuite
+
+tmpdir="$(pwd)/tmp"
+mkdir -p "$tmpdir"
+TMPDIR="$(cd "$tmpdir" && pwd -P)"
+export TMPDIR
+
+for tool in @DEJATOOL@; do
+ runtest -a --tool $tool --outdir ../log
+done
+cd -
diff --git a/meta/recipes-extended/psmisc/psmisc_23.7.bb b/meta/recipes-extended/psmisc/psmisc_23.7.bb
index ad57c49ffe..3c768f4a86 100644
--- a/meta/recipes-extended/psmisc/psmisc_23.7.bb
+++ b/meta/recipes-extended/psmisc/psmisc_23.7.bb
@@ -13,10 +13,11 @@ LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
SRC_URI = "git://gitlab.com/psmisc/psmisc.git;protocol=https;branch=master;tag=v${PV} \
+ file://run-ptest \
"
SRCREV = "9091d6dbcce3d8fb87adf9249a2eb346d25a562c"
-inherit autotools gettext
+inherit autotools gettext ptest
# Upstream has a custom autogen.sh which invokes po/update-potfiles as they
# don't ship a po/POTFILES.in (which is silly). Without that file gettext
@@ -25,6 +26,48 @@ do_configure:prepend() {
( cd ${S} && po/update-potfiles )
}
+do_compile_ptest() {
+ for p in $(makefile-getvar ${B}/Makefile check_PROGRAMS); do
+ oe_runmake $p
+ done
+ oe_runmake -C testsuite site.exp
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/testsuite
+ install -d ${D}${PTEST_PATH}/src
+ install -d ${D}${PTEST_PATH}/log
+
+ cp -r ${S}/testsuite/* ${D}${PTEST_PATH}/testsuite/
+ install -m 0644 ${B}/testsuite/site.exp ${D}${PTEST_PATH}/testsuite/
+
+ # Tools exercised by the .exp scripts.
+ for p in killall pslog prtstat fuser; do
+ if [ -x ${B}/src/$p ]; then
+ install -m 0755 ${B}/src/$p ${D}${PTEST_PATH}/src/
+ fi
+ done
+
+ # Helper programs (check_PROGRAMS) used by the fuser tests.
+ for p in $(makefile-getvar ${B}/Makefile check_PROGRAMS); do
+ install -m 0755 ${B}/$p ${D}${PTEST_PATH}/src/
+ done
+
+ sed -i -e "s#@DEJATOOL@#$(makefile-getvar ${B}/testsuite/Makefile DEJATOOL)#" \
+ ${D}${PTEST_PATH}/run-ptest
+
+ sed -i -e "/set srcdir/c\\set srcdir ${PTEST_PATH}/testsuite" \
+ -e "/set objdir/c\\set objdir ${PTEST_PATH}/testsuite" \
+ ${D}${PTEST_PATH}/testsuite/site.exp
+}
+
+do_install_ptest_base:append() {
+ sed -i -e 's/^set \([a-zA-Z_]*\)$/set \1 ""/' \
+ ${D}${PTEST_PATH}/testsuite/site.exp
+}
+
+RDEPENDS:${PN}-ptest += "dejagnu"
+
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Patchtest results for [OE-core][PATCH v2] psmisc: add ptest support
2026-09-16 8:16 ` [OE-core][PATCH v2] " Pratik Farkase
@ 2026-09-16 8:31 ` patchtest
0 siblings, 0 replies; 10+ messages in thread
From: patchtest @ 2026-09-16 8:31 UTC (permalink / raw)
To: Pratik Farkase; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 3242 bytes --]
Thank you for your submission. Patchtest identified one
or more issues with the patch. Please see the log below for
more information:
---
Testing patch /home/patchtest/share/mboxes/v2-psmisc-add-ptest-support.patch
FAIL: test mbox format: Series has malformed diff lines. Create the series again using git-format-patch and ensure it applies using git am (test_mbox.TestMbox.test_mbox_format)
PASS: test Signed-off-by presence (test_mbox.TestMbox.test_signed_off_by_presence)
PASS: test auh changelog truncation notice (test_mbox.TestMbox.test_auh_changelog_truncation_notice)
PASS: test author valid (test_mbox.TestMbox.test_author_valid)
PASS: test commit message presence (test_mbox.TestMbox.test_commit_message_presence)
PASS: test commit message user tags (test_mbox.TestMbox.test_commit_message_user_tags)
PASS: test max line length (test_metadata.TestMetadata.test_max_line_length)
PASS: test non-AUH upgrade (test_mbox.TestMbox.test_non_auh_upgrade)
PASS: test shortlog format (test_mbox.TestMbox.test_shortlog_format)
PASS: test shortlog length (test_mbox.TestMbox.test_shortlog_length)
PASS: test target mailing list (test_mbox.TestMbox.test_target_mailing_list)
SKIP: pretest pylint: Python-unidiff parse error (test_python_pylint.PyLint.pretest_pylint)
SKIP: pretest src uri left files: Patch cannot be merged (test_metadata.TestMetadata.pretest_src_uri_left_files)
SKIP: test CVE check ignore: No modified recipes or older target branch, skipping test (test_metadata.TestMetadata.test_cve_check_ignore)
SKIP: test CVE tag format: Parse error Unexpected hunk found: @@ -25,6 +26,48 @@ do_configure:prepend() {
SKIP: test Signed-off-by presence: Parse error Unexpected hunk found: @@ -25,6 +26,48 @@ do_configure:prepend() {
SKIP: test Upstream-Status presence: Parse error Unexpected hunk found: @@ -25,6 +26,48 @@ do_configure:prepend() {
SKIP: test bugzilla entry format: No bug ID found (test_mbox.TestMbox.test_bugzilla_entry_format)
SKIP: test lic files chksum modified not mentioned: No modified recipes, skipping test (test_metadata.TestMetadata.test_lic_files_chksum_modified_not_mentioned)
SKIP: test lic files chksum presence: No added recipes, skipping test (test_metadata.TestMetadata.test_lic_files_chksum_presence)
SKIP: test license presence: No added recipes, skipping test (test_metadata.TestMetadata.test_license_presence)
SKIP: test pylint: Python-unidiff parse error (test_python_pylint.PyLint.test_pylint)
SKIP: test series merge on head: Merge test is disabled for now (test_mbox.TestMbox.test_series_merge_on_head)
SKIP: test src uri left files: Patch cannot be merged (test_metadata.TestMetadata.test_src_uri_left_files)
SKIP: test summary presence: No added recipes, skipping test (test_metadata.TestMetadata.test_summary_presence)
---
Please address the issues identified and
submit a new revision of the patch, or alternatively, reply to this
email with an explanation of why the patch should be accepted. If you
believe these results are due to an error in patchtest, please submit a
bug at https://bugzilla.yoctoproject.org/ (use the 'Patchtest' category
under 'Yocto Project Subprojects'). For more information on specific
failures, see: https://wiki.yoctoproject.org/wiki/Patchtest. Thank
you!
^ permalink raw reply [flat|nested] 10+ messages in thread
* [OE-core][PATCH v2] psmisc: add ptest support
2026-09-14 13:04 [OE-core][PATCH v1] psmisc: add ptest support Pratik Farkase
2026-09-15 13:22 ` Antonin Godard
2026-09-16 8:16 ` [OE-core][PATCH v2] " Pratik Farkase
@ 2026-09-16 9:15 ` Pratik Farkase
2026-09-21 7:36 ` Antonin Godard
2026-09-18 9:36 ` Pratik Farkase
` (2 subsequent siblings)
5 siblings, 1 reply; 10+ messages in thread
From: Pratik Farkase @ 2026-09-16 9:15 UTC (permalink / raw)
To: openembedded-core; +Cc: pratik.farkase, Pratik Farkase
Add ptest support using psmisc's upstream DejaGnu testsuite, which
exercises killall, pslog and fuser via their .exp scripts. The tools and
the testsuite helper programs (socket_test, test-listen) are installed
under a src/ layout so the scripts' ${topdir}src/<tool> paths resolve on
target.
Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
---
Notes:
Changes in v2:
- Point mktemp at a private, symlink-resolved TMPDIR in run-ptest so the
fuser -a/-av/-va tests do not fail intermittently on the autobuilder
when /tmp is a symlink or on a different mount.
.../distro/include/ptest-packagelists.inc | 1 +
meta/recipes-extended/psmisc/psmisc/run-ptest | 13 ++++++
meta/recipes-extended/psmisc/psmisc_23.7.bb | 45 ++++++++++++++++++-
3 files changed, 58 insertions(+), 1 deletion(-)
create mode 100644 meta/recipes-extended/psmisc/psmisc/run-ptest
diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 4012be5f49..f01abc4a57 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -68,6 +68,7 @@ PTESTS_FAST = "\
opkg \
popt \
procps \
+ psmisc \
python3-atomicwrites \
python3-attrs \
python3-bcrypt \
diff --git a/meta/recipes-extended/psmisc/psmisc/run-ptest b/meta/recipes-extended/psmisc/psmisc/run-ptest
new file mode 100644
index 0000000000..53f7521ac1
--- /dev/null
+++ b/meta/recipes-extended/psmisc/psmisc/run-ptest
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+cd ./testsuite
+
+tmpdir="$(pwd)/tmp"
+mkdir -p "$tmpdir"
+TMPDIR="$(cd "$tmpdir" && pwd -P)"
+export TMPDIR
+
+for tool in @DEJATOOL@; do
+ runtest -a --tool $tool --outdir ../log
+done
+cd -
diff --git a/meta/recipes-extended/psmisc/psmisc_23.7.bb b/meta/recipes-extended/psmisc/psmisc_23.7.bb
index ad57c49ffe..3c768f4a86 100644
--- a/meta/recipes-extended/psmisc/psmisc_23.7.bb
+++ b/meta/recipes-extended/psmisc/psmisc_23.7.bb
@@ -13,10 +13,11 @@ LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
SRC_URI = "git://gitlab.com/psmisc/psmisc.git;protocol=https;branch=master;tag=v${PV} \
+ file://run-ptest \
"
SRCREV = "9091d6dbcce3d8fb87adf9249a2eb346d25a562c"
-inherit autotools gettext
+inherit autotools gettext ptest
# Upstream has a custom autogen.sh which invokes po/update-potfiles as they
# don't ship a po/POTFILES.in (which is silly). Without that file gettext
@@ -25,6 +26,48 @@ do_configure:prepend() {
( cd ${S} && po/update-potfiles )
}
+do_compile_ptest() {
+ for p in $(makefile-getvar ${B}/Makefile check_PROGRAMS); do
+ oe_runmake $p
+ done
+ oe_runmake -C testsuite site.exp
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/testsuite
+ install -d ${D}${PTEST_PATH}/src
+ install -d ${D}${PTEST_PATH}/log
+
+ cp -r ${S}/testsuite/* ${D}${PTEST_PATH}/testsuite/
+ install -m 0644 ${B}/testsuite/site.exp ${D}${PTEST_PATH}/testsuite/
+
+ # Tools exercised by the .exp scripts.
+ for p in killall pslog prtstat fuser; do
+ if [ -x ${B}/src/$p ]; then
+ install -m 0755 ${B}/src/$p ${D}${PTEST_PATH}/src/
+ fi
+ done
+
+ # Helper programs (check_PROGRAMS) used by the fuser tests.
+ for p in $(makefile-getvar ${B}/Makefile check_PROGRAMS); do
+ install -m 0755 ${B}/$p ${D}${PTEST_PATH}/src/
+ done
+
+ sed -i -e "s#@DEJATOOL@#$(makefile-getvar ${B}/testsuite/Makefile DEJATOOL)#" \
+ ${D}${PTEST_PATH}/run-ptest
+
+ sed -i -e "/set srcdir/c\\set srcdir ${PTEST_PATH}/testsuite" \
+ -e "/set objdir/c\\set objdir ${PTEST_PATH}/testsuite" \
+ ${D}${PTEST_PATH}/testsuite/site.exp
+}
+
+do_install_ptest_base:append() {
+ sed -i -e 's/^set \([a-zA-Z_]*\)$/set \1 ""/' \
+ ${D}${PTEST_PATH}/testsuite/site.exp
+}
+
+RDEPENDS:${PN}-ptest += "dejagnu"
+
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [OE-core][PATCH v2] psmisc: add ptest support
2026-09-14 13:04 [OE-core][PATCH v1] psmisc: add ptest support Pratik Farkase
` (2 preceding siblings ...)
2026-09-16 9:15 ` Pratik Farkase
@ 2026-09-18 9:36 ` Pratik Farkase
2026-09-21 12:31 ` [OE-core][PATCH v3] " Pratik Farkase
2026-09-21 12:57 ` Pratik Farkase
5 siblings, 0 replies; 10+ messages in thread
From: Pratik Farkase @ 2026-09-18 9:36 UTC (permalink / raw)
To: openembedded-core; +Cc: pratik.farkase, Pratik Farkase
Add ptest support using psmisc's upstream DejaGnu testsuite, which
exercises killall, pslog and fuser via their .exp scripts. The tools and
the testsuite helper programs (socket_test, test-listen) are installed
under a src/ layout so the scripts' ${topdir}src/<tool> paths resolve on
target.
Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
---
.../distro/include/ptest-packagelists.inc | 1 +
meta/recipes-extended/psmisc/psmisc/run-ptest | 13 ++++++
meta/recipes-extended/psmisc/psmisc_23.7.bb | 45 ++++++++++++++++++-
3 files changed, 58 insertions(+), 1 deletion(-)
create mode 100644 meta/recipes-extended/psmisc/psmisc/run-ptest
diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 4012be5f49..f01abc4a57 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -68,6 +68,7 @@ PTESTS_FAST = "\
opkg \
popt \
procps \
+ psmisc \
python3-atomicwrites \
python3-attrs \
python3-bcrypt \
diff --git a/meta/recipes-extended/psmisc/psmisc/run-ptest b/meta/recipes-extended/psmisc/psmisc/run-ptest
new file mode 100644
index 0000000000..53f7521ac1
--- /dev/null
+++ b/meta/recipes-extended/psmisc/psmisc/run-ptest
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+cd ./testsuite
+
+tmpdir="$(pwd)/tmp"
+mkdir -p "$tmpdir"
+TMPDIR="$(cd "$tmpdir" && pwd -P)"
+export TMPDIR
+
+for tool in @DEJATOOL@; do
+ runtest -a --tool $tool --outdir ../log
+done
+cd -
diff --git a/meta/recipes-extended/psmisc/psmisc_23.7.bb b/meta/recipes-extended/psmisc/psmisc_23.7.bb
index ad57c49ffe..3c768f4a86 100644
--- a/meta/recipes-extended/psmisc/psmisc_23.7.bb
+++ b/meta/recipes-extended/psmisc/psmisc_23.7.bb
@@ -13,10 +13,11 @@ LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
SRC_URI = "git://gitlab.com/psmisc/psmisc.git;protocol=https;branch=master;tag=v${PV} \
+ file://run-ptest \
"
SRCREV = "9091d6dbcce3d8fb87adf9249a2eb346d25a562c"
-inherit autotools gettext
+inherit autotools gettext ptest
# Upstream has a custom autogen.sh which invokes po/update-potfiles as they
# don't ship a po/POTFILES.in (which is silly). Without that file gettext
@@ -25,6 +26,48 @@ do_configure:prepend() {
( cd ${S} && po/update-potfiles )
}
+do_compile_ptest() {
+ for p in $(makefile-getvar ${B}/Makefile check_PROGRAMS); do
+ oe_runmake $p
+ done
+ oe_runmake -C testsuite site.exp
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/testsuite
+ install -d ${D}${PTEST_PATH}/src
+ install -d ${D}${PTEST_PATH}/log
+
+ cp -r ${S}/testsuite/* ${D}${PTEST_PATH}/testsuite/
+ install -m 0644 ${B}/testsuite/site.exp ${D}${PTEST_PATH}/testsuite/
+
+ # Tools exercised by the .exp scripts.
+ for p in killall pslog prtstat fuser; do
+ if [ -x ${B}/src/$p ]; then
+ install -m 0755 ${B}/src/$p ${D}${PTEST_PATH}/src/
+ fi
+ done
+
+ # Helper programs (check_PROGRAMS) used by the fuser tests.
+ for p in $(makefile-getvar ${B}/Makefile check_PROGRAMS); do
+ install -m 0755 ${B}/$p ${D}${PTEST_PATH}/src/
+ done
+
+ sed -i -e "s#@DEJATOOL@#$(makefile-getvar ${B}/testsuite/Makefile DEJATOOL)#" \
+ ${D}${PTEST_PATH}/run-ptest
+
+ sed -i -e "/set srcdir/c\\set srcdir ${PTEST_PATH}/testsuite" \
+ -e "/set objdir/c\\set objdir ${PTEST_PATH}/testsuite" \
+ ${D}${PTEST_PATH}/testsuite/site.exp
+}
+
+do_install_ptest_base:append() {
+ sed -i -e 's/^set \([a-zA-Z_]*\)$/set \1 ""/' \
+ ${D}${PTEST_PATH}/testsuite/site.exp
+}
+
+RDEPENDS:${PN}-ptest += "dejagnu"
+
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [OE-core][PATCH v2] psmisc: add ptest support
2026-09-16 9:15 ` Pratik Farkase
@ 2026-09-21 7:36 ` Antonin Godard
0 siblings, 0 replies; 10+ messages in thread
From: Antonin Godard @ 2026-09-21 7:36 UTC (permalink / raw)
To: Pratik Farkase, openembedded-core; +Cc: pratik.farkase
Hi,
On Wed Sep 16, 2026 at 11:15 AM CEST, Pratik Farkase wrote:
> Add ptest support using psmisc's upstream DejaGnu testsuite, which
> exercises killall, pslog and fuser via their .exp scripts. The tools and
> the testsuite helper programs (socket_test, test-listen) are installed
> under a src/ layout so the scripts' ${topdir}src/<tool> paths resolve on
> target.
There's still issues with this one, on musl specifically:
https://autobuilder.yoctoproject.org/valkyrie/#/builders/109/builds/1232
https://autobuilder.yoctoproject.org/valkyrie/#/builders/110/builds/1217
Can you have a look?
Antonin
^ permalink raw reply [flat|nested] 10+ messages in thread
* [OE-core][PATCH v3] psmisc: add ptest support
2026-09-14 13:04 [OE-core][PATCH v1] psmisc: add ptest support Pratik Farkase
` (3 preceding siblings ...)
2026-09-18 9:36 ` Pratik Farkase
@ 2026-09-21 12:31 ` Pratik Farkase
2026-09-21 12:46 ` Patchtest results for " patchtest
2026-09-21 12:57 ` Pratik Farkase
5 siblings, 1 reply; 10+ messages in thread
From: Pratik Farkase @ 2026-09-21 12:31 UTC (permalink / raw)
To: openembedded-core; +Cc: pratik.farkase, Pratik Farkase
Add ptest support using psmisc's upstream DejaGnu testsuite, which
exercises killall, pslog and fuser via their .exp scripts. The tools and
the testsuite helper programs (socket_test, test-listen) are installed
under a src/ layout so the scripts' ${topdir}src/<tool> paths resolve on
target.
Tested on qemux86-64 with ptest-runner: glibc killall 66, pslog 2,
fuser 9; musl pslog 2, fuser 9; all pass.
Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
---
Changes in v3:
- Skip the killall DejaGnu tool on musl. killall's "-SIGNAME" shorthand
depends on glibc getopt_long_only() error-recovery semantics that musl
lacks, so the killall.exp signal-name loop failed on the qemux86-64 and
arm64 musl autobuilders. pslog and fuser still run on musl.
Changes in v2:
- Point mktemp at a private, symlink-resolved TMPDIR in run-ptest
so the fuser -a/-av/-va tests do not fail intermittently on the
autobuilder when /tmp is a symlink or on a different mount.
.../distro/include/ptest-packagelists.inc | 1 +
meta/recipes-extended/psmisc/psmisc/run-ptest | 13 ++++
meta/recipes-extended/psmisc/psmisc_23.7.bb | 62 ++++++++++++++++++-
3 files changed, 75 insertions(+), 1 deletion(-)
create mode 100644 meta/recipes-extended/psmisc/psmisc/run-ptest
diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 4012be5f49..f01abc4a57 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -68,6 +68,7 @@ PTESTS_FAST = "\
opkg \
popt \
procps \
+ psmisc \
python3-atomicwrites \
python3-attrs \
python3-bcrypt \
diff --git a/meta/recipes-extended/psmisc/psmisc/run-ptest b/meta/recipes-extended/psmisc/psmisc/run-ptest
new file mode 100644
index 0000000000..53f7521ac1
--- /dev/null
+++ b/meta/recipes-extended/psmisc/psmisc/run-ptest
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+cd ./testsuite
+
+tmpdir="$(pwd)/tmp"
+mkdir -p "$tmpdir"
+TMPDIR="$(cd "$tmpdir" && pwd -P)"
+export TMPDIR
+
+for tool in @DEJATOOL@; do
+ runtest -a --tool $tool --outdir ../log
+done
+cd -
diff --git a/meta/recipes-extended/psmisc/psmisc_23.7.bb b/meta/recipes-extended/psmisc/psmisc_23.7.bb
index ad57c49ffe..f9c6d13ac3 100644
--- a/meta/recipes-extended/psmisc/psmisc_23.7.bb
+++ b/meta/recipes-extended/psmisc/psmisc_23.7.bb
@@ -13,10 +13,11 @@ LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
SRC_URI = "git://gitlab.com/psmisc/psmisc.git;protocol=https;branch=master;tag=v${PV} \
+ file://run-ptest \
"
SRCREV = "9091d6dbcce3d8fb87adf9249a2eb346d25a562c"
-inherit autotools gettext
+inherit autotools gettext ptest
# Upstream has a custom autogen.sh which invokes po/update-potfiles as they
# don't ship a po/POTFILES.in (which is silly). Without that file gettext
@@ -25,6 +26,65 @@ do_configure:prepend() {
( cd ${S} && po/update-potfiles )
}
+do_compile_ptest() {
+ for p in $(makefile-getvar ${B}/Makefile check_PROGRAMS); do
+ oe_runmake $p
+ done
+ oe_runmake -C testsuite site.exp
+}
+
+# DejaGnu tools to exclude from the ptest run on specific C libraries.
+PTEST_DEJATOOL_SKIP = ""
+PTEST_DEJATOOL_SKIP:libc-musl = "killall"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/testsuite
+ install -d ${D}${PTEST_PATH}/src
+ install -d ${D}${PTEST_PATH}/log
+
+ cp -r ${S}/testsuite/* ${D}${PTEST_PATH}/testsuite/
+ install -m 0644 ${B}/testsuite/site.exp ${D}${PTEST_PATH}/testsuite/
+
+ # Tools exercised by the .exp scripts.
+ for p in killall pslog prtstat fuser; do
+ if [ -x ${B}/src/$p ]; then
+ install -m 0755 ${B}/src/$p ${D}${PTEST_PATH}/src/
+ fi
+ done
+
+ # Helper programs (check_PROGRAMS) used by the fuser tests.
+ for p in $(makefile-getvar ${B}/Makefile check_PROGRAMS); do
+ install -m 0755 ${B}/$p ${D}${PTEST_PATH}/src/
+ done
+
+ dejatool=""
+ for t in $(makefile-getvar ${B}/testsuite/Makefile DEJATOOL); do
+ skip=0
+ for s in ${PTEST_DEJATOOL_SKIP}; do
+ [ "$t" = "$s" ] && skip=1
+ done
+ [ $skip -eq 0 ] && dejatool="$dejatool $t"
+ done
+ sed -i -e "s#@DEJATOOL@#$(echo $dejatool)#" \
+ ${D}${PTEST_PATH}/run-ptest
+
+ sed -i -e "/set srcdir/c\\set srcdir ${PTEST_PATH}/testsuite" \
+ -e "/set objdir/c\\set objdir ${PTEST_PATH}/testsuite" \
+ ${D}${PTEST_PATH}/testsuite/site.exp
+}
+
+do_install_ptest_base:append() {
+ sed -i -e 's/^set \([a-zA-Z_]*\)$/set \1 ""/' \
+ ${D}${PTEST_PATH}/testsuite/site.exp
+}
+
+RDEPENDS:${PN}-ptest += "dejagnu"
+
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Patchtest results for [OE-core][PATCH v3] psmisc: add ptest support
2026-09-21 12:31 ` [OE-core][PATCH v3] " Pratik Farkase
@ 2026-09-21 12:46 ` patchtest
0 siblings, 0 replies; 10+ messages in thread
From: patchtest @ 2026-09-21 12:46 UTC (permalink / raw)
To: Pratik Farkase; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 3282 bytes --]
Thank you for your submission. Patchtest identified one
or more issues with the patch. Please see the log below for
more information:
---
Testing patch /home/patchtest/share/mboxes/v3-psmisc-add-ptest-support.patch
FAIL: test mbox format: Series has malformed diff lines. Create the series again using git-format-patch and ensure it applies using git am (test_mbox.TestMbox.test_mbox_format)
PASS: test Signed-off-by presence (test_mbox.TestMbox.test_signed_off_by_presence)
PASS: test auh changelog truncation notice (test_mbox.TestMbox.test_auh_changelog_truncation_notice)
PASS: test author valid (test_mbox.TestMbox.test_author_valid)
PASS: test commit message presence (test_mbox.TestMbox.test_commit_message_presence)
PASS: test commit message user tags (test_mbox.TestMbox.test_commit_message_user_tags)
PASS: test max line length (test_metadata.TestMetadata.test_max_line_length)
PASS: test non-AUH upgrade (test_mbox.TestMbox.test_non_auh_upgrade)
PASS: test shortlog format (test_mbox.TestMbox.test_shortlog_format)
PASS: test shortlog length (test_mbox.TestMbox.test_shortlog_length)
PASS: test target mailing list (test_mbox.TestMbox.test_target_mailing_list)
SKIP: pretest pylint: Python-unidiff parse error (test_python_pylint.PyLint.pretest_pylint)
SKIP: pretest src uri left files: Patch cannot be merged (test_metadata.TestMetadata.pretest_src_uri_left_files)
SKIP: test CVE check ignore: No modified recipes or older target branch, skipping test (test_metadata.TestMetadata.test_cve_check_ignore)
SKIP: test CVE tag format: Parse error Hunk is longer than expected (test_patch.TestPatch.test_cve_tag_format)
SKIP: test Signed-off-by presence: Parse error Hunk is longer than expected (test_patch.TestPatch.test_signed_off_by_presence)
SKIP: test Upstream-Status presence: Parse error Hunk is longer than expected (test_patch.TestPatch.test_upstream_status_presence_format)
SKIP: test bugzilla entry format: No bug ID found (test_mbox.TestMbox.test_bugzilla_entry_format)
SKIP: test lic files chksum modified not mentioned: No modified recipes, skipping test (test_metadata.TestMetadata.test_lic_files_chksum_modified_not_mentioned)
SKIP: test lic files chksum presence: No added recipes, skipping test (test_metadata.TestMetadata.test_lic_files_chksum_presence)
SKIP: test license presence: No added recipes, skipping test (test_metadata.TestMetadata.test_license_presence)
SKIP: test pylint: Python-unidiff parse error (test_python_pylint.PyLint.test_pylint)
SKIP: test series merge on head: Merge test is disabled for now (test_mbox.TestMbox.test_series_merge_on_head)
SKIP: test src uri left files: Patch cannot be merged (test_metadata.TestMetadata.test_src_uri_left_files)
SKIP: test summary presence: No added recipes, skipping test (test_metadata.TestMetadata.test_summary_presence)
---
Please address the issues identified and
submit a new revision of the patch, or alternatively, reply to this
email with an explanation of why the patch should be accepted. If you
believe these results are due to an error in patchtest, please submit a
bug at https://bugzilla.yoctoproject.org/ (use the 'Patchtest' category
under 'Yocto Project Subprojects'). For more information on specific
failures, see: https://wiki.yoctoproject.org/wiki/Patchtest. Thank
you!
^ permalink raw reply [flat|nested] 10+ messages in thread
* [OE-core][PATCH v3] psmisc: add ptest support
2026-09-14 13:04 [OE-core][PATCH v1] psmisc: add ptest support Pratik Farkase
` (4 preceding siblings ...)
2026-09-21 12:31 ` [OE-core][PATCH v3] " Pratik Farkase
@ 2026-09-21 12:57 ` Pratik Farkase
5 siblings, 0 replies; 10+ messages in thread
From: Pratik Farkase @ 2026-09-21 12:57 UTC (permalink / raw)
To: openembedded-core; +Cc: pratik.farkase, Pratik Farkase
Add ptest support using psmisc's upstream DejaGnu testsuite, which
exercises killall, pslog and fuser via their .exp scripts. The tools and
the testsuite helper programs (socket_test, test-listen) are installed
under a src/ layout so the scripts' ${topdir}src/<tool> paths resolve on
target.
Tested on qemux86-64 with ptest-runner: glibc killall 66, pslog 2,
fuser 9; musl pslog 2, fuser 9; all pass.
Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
---
Changes in v3:
- Skip the killall DejaGnu tool on musl. killall's "-SIGNAME" shorthand
depends on glibc getopt_long_only() error-recovery semantics that musl
lacks, so the killall.exp signal-name loop failed on the qemux86-64 and
arm64 musl autobuilders. pslog and fuser still run on musl.
Changes in v2:
- Point mktemp at a private, symlink-resolved TMPDIR in run-ptest
so the fuser -a/-av/-va tests do not fail intermittently on the
autobuilder when /tmp is a symlink or on a different mount.
.../distro/include/ptest-packagelists.inc | 1 +
meta/recipes-extended/psmisc/psmisc/run-ptest | 13 +++++
meta/recipes-extended/psmisc/psmisc_23.7.bb | 57 ++++++++++++++++++-
3 files changed, 70 insertions(+), 1 deletion(-)
create mode 100644 meta/recipes-extended/psmisc/psmisc/run-ptest
diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 4012be5f49..f01abc4a57 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -68,6 +68,7 @@ PTESTS_FAST = "\
opkg \
popt \
procps \
+ psmisc \
python3-atomicwrites \
python3-attrs \
python3-bcrypt \
diff --git a/meta/recipes-extended/psmisc/psmisc/run-ptest b/meta/recipes-extended/psmisc/psmisc/run-ptest
new file mode 100644
index 0000000000..53f7521ac1
--- /dev/null
+++ b/meta/recipes-extended/psmisc/psmisc/run-ptest
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+cd ./testsuite
+
+tmpdir="$(pwd)/tmp"
+mkdir -p "$tmpdir"
+TMPDIR="$(cd "$tmpdir" && pwd -P)"
+export TMPDIR
+
+for tool in @DEJATOOL@; do
+ runtest -a --tool $tool --outdir ../log
+done
+cd -
diff --git a/meta/recipes-extended/psmisc/psmisc_23.7.bb b/meta/recipes-extended/psmisc/psmisc_23.7.bb
index ad57c49ffe..4984f86ced 100644
--- a/meta/recipes-extended/psmisc/psmisc_23.7.bb
+++ b/meta/recipes-extended/psmisc/psmisc_23.7.bb
@@ -13,10 +13,11 @@ LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
SRC_URI = "git://gitlab.com/psmisc/psmisc.git;protocol=https;branch=master;tag=v${PV} \
+ file://run-ptest \
"
SRCREV = "9091d6dbcce3d8fb87adf9249a2eb346d25a562c"
-inherit autotools gettext
+inherit autotools gettext ptest
# Upstream has a custom autogen.sh which invokes po/update-potfiles as they
# don't ship a po/POTFILES.in (which is silly). Without that file gettext
@@ -25,6 +26,60 @@ do_configure:prepend() {
( cd ${S} && po/update-potfiles )
}
+do_compile_ptest() {
+ for p in $(makefile-getvar ${B}/Makefile check_PROGRAMS); do
+ oe_runmake $p
+ done
+ oe_runmake -C testsuite site.exp
+}
+
+# DejaGnu tools to exclude from the ptest run on specific C libraries.
+PTEST_DEJATOOL_SKIP = ""
+PTEST_DEJATOOL_SKIP:libc-musl = "killall"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/testsuite
+ install -d ${D}${PTEST_PATH}/src
+ install -d ${D}${PTEST_PATH}/log
+
+ cp -r ${S}/testsuite/* ${D}${PTEST_PATH}/testsuite/
+ install -m 0644 ${B}/testsuite/site.exp ${D}${PTEST_PATH}/testsuite/
+
+ # Tools exercised by the .exp scripts.
+ for p in killall pslog prtstat fuser; do
+ if [ -x ${B}/src/$p ]; then
+ install -m 0755 ${B}/src/$p ${D}${PTEST_PATH}/src/
+ fi
+ done
+
+ # Helper programs (check_PROGRAMS) used by the fuser tests.
+ for p in $(makefile-getvar ${B}/Makefile check_PROGRAMS); do
+ install -m 0755 ${B}/$p ${D}${PTEST_PATH}/src/
+ done
+
+ dejatool=""
+ for t in $(makefile-getvar ${B}/testsuite/Makefile DEJATOOL); do
+ skip=0
+ for s in ${PTEST_DEJATOOL_SKIP}; do
+ [ "$t" = "$s" ] && skip=1
+ done
+ [ $skip -eq 0 ] && dejatool="$dejatool $t"
+ done
+ sed -i -e "s#@DEJATOOL@#$(echo $dejatool)#" \
+ ${D}${PTEST_PATH}/run-ptest
+
+ sed -i -e "/set srcdir/c\\set srcdir ${PTEST_PATH}/testsuite" \
+ -e "/set objdir/c\\set objdir ${PTEST_PATH}/testsuite" \
+ ${D}${PTEST_PATH}/testsuite/site.exp
+}
+
+do_install_ptest_base:append() {
+ sed -i -e 's/^set \([a-zA-Z_]*\)$/set \1 ""/' \
+ ${D}${PTEST_PATH}/testsuite/site.exp
+}
+
+RDEPENDS:${PN}-ptest += "dejagnu"
+
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-09-21 12:58 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-14 13:04 [OE-core][PATCH v1] psmisc: add ptest support Pratik Farkase
2026-09-15 13:22 ` Antonin Godard
2026-09-16 8:16 ` [OE-core][PATCH v2] " Pratik Farkase
2026-09-16 8:31 ` Patchtest results for " patchtest
2026-09-16 9:15 ` Pratik Farkase
2026-09-21 7:36 ` Antonin Godard
2026-09-18 9:36 ` Pratik Farkase
2026-09-21 12:31 ` [OE-core][PATCH v3] " Pratik Farkase
2026-09-21 12:46 ` Patchtest results for " patchtest
2026-09-21 12:57 ` Pratik Farkase
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox