From: Christian Goeschel Ndjomouo Date: Tue, 27 Jan 2026 00:33:00 +0000 (-0500) Subject: tests: (waitpid) add tests for the pidfd inode format support X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cc04dd58da415a092f110804311cf26b2fd57534;p=thirdparty%2Futil-linux.git tests: (waitpid) add tests for the pidfd inode format support Signed-off-by: Christian Goeschel Ndjomouo --- diff --git a/tests/expected/waitpid/pidfd-ino-count b/tests/expected/waitpid/pidfd-ino-count new file mode 100644 index 000000000..d00491fd7 --- /dev/null +++ b/tests/expected/waitpid/pidfd-ino-count @@ -0,0 +1 @@ +1 diff --git a/tests/expected/waitpid/pidfd-ino-count.err b/tests/expected/waitpid/pidfd-ino-count.err new file mode 100644 index 000000000..573541ac9 --- /dev/null +++ b/tests/expected/waitpid/pidfd-ino-count.err @@ -0,0 +1 @@ +0 diff --git a/tests/expected/waitpid/pidfd-ino-mixed-pid-formats b/tests/expected/waitpid/pidfd-ino-mixed-pid-formats new file mode 100644 index 000000000..5f1d0ecea --- /dev/null +++ b/tests/expected/waitpid/pidfd-ino-mixed-pid-formats @@ -0,0 +1,2 @@ +2 +1 diff --git a/tests/expected/waitpid/pidfd-ino-mixed-pid-formats.err b/tests/expected/waitpid/pidfd-ino-mixed-pid-formats.err new file mode 100644 index 000000000..573541ac9 --- /dev/null +++ b/tests/expected/waitpid/pidfd-ino-mixed-pid-formats.err @@ -0,0 +1 @@ +0 diff --git a/tests/expected/waitpid/pidfd-ino-one-pid-arg b/tests/expected/waitpid/pidfd-ino-one-pid-arg new file mode 100644 index 000000000..d00491fd7 --- /dev/null +++ b/tests/expected/waitpid/pidfd-ino-one-pid-arg @@ -0,0 +1 @@ +1 diff --git a/tests/expected/waitpid/pidfd-ino-one-pid-arg.err b/tests/expected/waitpid/pidfd-ino-one-pid-arg.err new file mode 100644 index 000000000..573541ac9 --- /dev/null +++ b/tests/expected/waitpid/pidfd-ino-one-pid-arg.err @@ -0,0 +1 @@ +0 diff --git a/tests/ts/waitpid/pidfd-ino b/tests/ts/waitpid/pidfd-ino new file mode 100755 index 000000000..e572165bf --- /dev/null +++ b/tests/ts/waitpid/pidfd-ino @@ -0,0 +1,64 @@ +#!/bin/bash + +# This file is part of util-linux. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# Copyright (C) 2026 Christian Goeschel Ndjomouo + +TS_TOPDIR="${0%/*}/../.." +TS_DESC="pidfd-ino" + +. "$TS_TOPDIR/functions.sh" +ts_init "$*" + +# The pidfs was only introduced in kernel version 6.9, +# which means we cannot get a valid pidfd from earlier versions, +# so we can confidently anticipate the test failure. +if ts_kernel_ver_lt 6 9; then + TS_KNOWN_FAIL="yes" +fi + +ts_check_test_command "$TS_CMD_WAITPID" +ts_check_test_command "$TS_CMD_GETINO" + +ts_init_subtest one-pid-arg + +(sleep 0.5; echo 1 >> "$TS_OUTPUT") & +PID="$( $TS_CMD_GETINO -p $! 2>/dev/null )" + +"$TS_CMD_WAITPID" "$PID" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" +echo $? >> "$TS_ERRLOG" + +ts_finalize_subtest + +ts_init_subtest mixed-pid-formats + +(sleep 0.6; echo 1 >> "$TS_OUTPUT") & +PID1="$( $TS_CMD_GETINO -p $! 2>/dev/null )" + +(sleep 0.2; echo 2 >> "$TS_OUTPUT") & +PID2="$!" + +"$TS_CMD_WAITPID" "$PID1" "$PID2" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" +echo $? >> "$TS_ERRLOG" + +ts_finalize_subtest + +ts_init_subtest count +(sleep 0.2; echo 1 >> "$TS_OUTPUT") & +BG1="$( $TS_CMD_GETINO -p $! 2>/dev/null )" + +"$TS_CMD_WAITPID" -c 1 1 "$BG1" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" +echo $? >> "$TS_ERRLOG" +ts_finalize_subtest + +ts_finalize