]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
tests: (lsfd) extend the mkfds-socketpair case to test ENDPOINTS with SOCK.SHUTDOWN...
authorMasatake YAMATO <yamato@redhat.com>
Mon, 2 Oct 2023 12:52:00 +0000 (21:52 +0900)
committerMasatake YAMATO <yamato@redhat.com>
Mon, 9 Oct 2023 06:45:27 +0000 (15:45 +0900)
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
tests/expected/lsfd/mkfds-socketpair-STREAM-ENDPOINT-halfclose [new file with mode: 0644]
tests/ts/lsfd/mkfds-socketpair

diff --git a/tests/expected/lsfd/mkfds-socketpair-STREAM-ENDPOINT-halfclose b/tests/expected/lsfd/mkfds-socketpair-STREAM-ENDPOINT-halfclose
new file mode 100644 (file)
index 0000000..72fa052
--- /dev/null
@@ -0,0 +1,3 @@
+3 rw- SOCK sockfs 1,test_mkfds,4r-
+4 rw- SOCK sockfs 1,test_mkfds,3-w
+ASSOC,MODE,STTYPE,SOURCE,ENDPOINTS: 0
index ef354526bf4a19fbab5f6cd3ed535ca523320b12..38f9279cebe90785fe91a47dd7733c905117ba19 100755 (executable)
@@ -107,7 +107,30 @@ mkfds_socketpair_stream_shutdown_state()
     ts_finalize_subtest
 }
 
+mkfds_socketpair_stream_endpoint_halfclose()
+{
+    ts_init_subtest "STREAM-ENDPOINT-halfclose"
+    if [ "$QEMU_USER" == "1" ]; then
+       ts_skip_subtest "running under qemu-user emulation"
+       return
+    fi
+    {
+       coproc MKFDS { "$TS_HELPER_MKFDS" socketpair $FD0 $FD1 socktype=STREAM halfclose=1; }
+       if read -u ${MKFDS[0]} PID; then
+           EXPR='(FD == '"$FD0"') or (FD == '"$FD1"')'
+           ${TS_CMD_LSFD} -p "${PID}" -n -o ASSOC,MODE,STTYPE,SOURCE,ENDPOINTS -Q "${EXPR}" | sed -e "s/${PID}/1/g"
+           echo 'ASSOC,MODE,STTYPE,SOURCE,ENDPOINTS': ${PIPESTATUS[0]}
+
+           echo DONE >&"${MKFDS[1]}"
+       fi
+    } > "$TS_OUTPUT" 2>&1
+
+    wait ${MKFDS_PID}
+    ts_finalize_subtest
+}
+
 mkfds_socketpair_stream_endpoint
 mkfds_socketpair_stream_shutdown_state
+mkfds_socketpair_stream_endpoint_halfclose
 
 ts_finalize