inotify-tools: add ptest support for inotify-tools

Add ptest support for inotify-tools by introducing a run-ptest script.
The ptest verifies the correct functioning of inotify event handling
and related utilities.

Test coverage includes:
 - File creation, modification, and deletion event monitoring
 - Event handling and command-line option parsing
 - Basic consistency and behavior of inotify event queues

The ptest completes in under 20 seconds

output:
root@qemux86-64:~# ptest-runner inotify-tools
START: ptest-runner
BEGIN: /usr/lib/inotify-tools/ptest
If you want to do a malloc trace, set MALLOC_TRACE to a path for logging.
event_to_str: test begin
event_to_str: test end
event_to_str_sep: test begin
event_to_str_sep: test end
str_to_event: test begin
str_to_event: test end
str_to_event_sep: test begin
str_to_event_sep: test end
basic_watch_info: test begin
basic_watch_info: test end
watch_limit: test begin
watch_limit: Warning, this test may take a while
watch_limit: test end
tst_inotifytools_snprintf: test begin
tst_inotifytools_snprintf: test end
Out of 362746 tests, 362746 succeeded and 0 failed.
All tests passed successfully.
DURATION: 16
END: /usr/lib/inotify-tools/ptest
STOP: ptest-runner
TOTAL: 1 FAIL: 0

Verified that enabling ptest does not modify existing package contents
for inotify-tools

Signed-off-by: Nikhil R <nikhil.r@bmwtechworks.in>
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
This commit is contained in:
Nikhil R
2025-11-05 10:25:40 +05:30
committed by Gyorgy Sarvari
parent 03cca3a147
commit c3c873d0dc
2 changed files with 30 additions and 1 deletions
@@ -0,0 +1,15 @@
#!/bin/sh
# run-ptest for inotify-tools
# Run the test binary and show output
./test
status=$?
# Exit with the tests result code
if [ $status -eq 0 ]; then
echo "All tests passed successfully."
else
echo "Some tests failed. See output above for details."
fi
exit $status
@@ -9,11 +9,12 @@ SRCREV = "4b72dcd15299e1d0cb096397d9aab513ffed1657"
SRC_URI = "git://github.com/${BPN}/${BPN};branch=master;protocol=https \
file://0002-libinotifytools-Bridge-differences-between-musl-glib.patch \
file://run-ptest \
"
S = "${WORKDIR}/git"
inherit autotools
inherit autotools ptest
EXTRA_OECONF = "--disable-doxygen"
@@ -24,3 +25,16 @@ CFLAGS += "-Wno-error"
PACKAGES =+ "libinotifytools"
FILES:libinotifytools = "${libdir}/lib*.so.*"
do_compile_ptest() {
cd libinotifytools/src
oe_runmake
oe_runmake test
}
do_install_ptest() {
install -d ${D}${PTEST_PATH}
cp -r ${B}/libinotifytools/src/.libs/test ${D}${PTEST_PATH}/
}
FILES:${PN}-ptest += "${PTEST_PATH}"