summaryrefslogtreecommitdiffstats
path: root/tests/ts/lsfd
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-14 19:22:57 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-14 19:22:57 +0000
commitce95875445c67808caa5d4fb0e6f80dbdaef0cb7 (patch)
tree6da8cbc66ef15086c9d295e4abe733b24818551e /tests/ts/lsfd
parentAdding upstream version 2.40. (diff)
downloadutil-linux-upstream.tar.xz
util-linux-upstream.zip
Adding upstream version 2.40.1.upstream/2.40.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/ts/lsfd')
-rwxr-xr-xtests/ts/lsfd/mkfds-multiplexing16
1 files changed, 15 insertions, 1 deletions
diff --git a/tests/ts/lsfd/mkfds-multiplexing b/tests/ts/lsfd/mkfds-multiplexing
index 8cc7f31..a53f6eb 100755
--- a/tests/ts/lsfd/mkfds-multiplexing
+++ b/tests/ts/lsfd/mkfds-multiplexing
@@ -26,6 +26,8 @@ ts_check_test_command "$TS_HELPER_MKFDS"
# /proc/${PID}/syscall is rendered in the host side byteorder.
ts_skip_qemu_user
+ts_check_prog "cat"
+ts_check_prog "cut"
ts_check_prog "grep"
ts_cd "$TS_OUTDIR"
@@ -44,12 +46,24 @@ for multiplexer in pselect6 select poll ppoll; do
} > "$TS_OUTPUT" 2>&1
if read -r -u "${MKFDS[0]}" PID; then
- if ! cat /proc/"${PID}"/syscall > /dev/null 2>&1; then
+ syscall_line=$(cat /proc/"${PID}"/syscall 2>> "$TS_OUTPUT")
+ syscall_status=$?
+ if [[ "$syscall_status" != 0 ]]; then
kill -CONT "${PID}"
wait "${MKFDS_PID}"
ts_skip_subtest "cannot open /proc/${PID}/syscall"
continue
fi
+ syscall_n=$(cut -f1 -d' ' <<< "$syscall_line")
+ # We assume the syscall number for the $multiplexer is not zero
+ # on any platforms.
+ if [[ "$syscall_n" == 0 ]]; then
+ kill -CONT "${PID}"
+ wait "${MKFDS_PID}"
+ ts_skip_subtest "incorrect syscall number in /proc/${PID}/syscall"
+ continue
+ fi
+
{
"${TS_CMD_LSFD}" -n -o ASSOC,XMODE -p "${PID}" -Q '(FD >= 10) && (FD <= 22)'
echo "[$multiplexer] ASSOC,XMODE: $?"