]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
tests: (lsfd) add a case for UDP-Lite sockets
authorMasatake YAMATO <yamato@redhat.com>
Wed, 22 Feb 2023 16:46:15 +0000 (01:46 +0900)
committerMasatake YAMATO <yamato@redhat.com>
Sun, 26 Feb 2023 08:26:27 +0000 (17:26 +0900)
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
tests/expected/lsfd/mkfds-udp
tests/ts/lsfd/mkfds-udp

index 9eb7a1e526695f99589a205804280a089384bc0b..58ce260dfe3c2ca72894405ea225bfd4a1b89dfc 100644 (file)
@@ -9,4 +9,16 @@ ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDP.
 LADDR/LPORT pattern match: OK
     3  UDP   SOCK state=close laddr=127.0.0.1:34567      close     dgram              0  127.0.0.1    0.0.0.0 127.0.0.1:34567     34567 0.0.0.0:0         0
     4  UDP   SOCK state=close laddr=127.0.0.1:23456      close     dgram              0  127.0.0.1    0.0.0.0 127.0.0.1:23456     23456 0.0.0.0:0         0
+ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT: 0
+    3 UDP-Lite   SOCK state=close laddr=127.0.0.1:34567                                   close     dgram              0  127.0.0.1    0.0.0.0 127.0.0.1:34567         34567       0.0.0.0:0             0
+    4 UDP-Lite   SOCK state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567 established     dgram              0  127.0.0.1  127.0.0.1 127.0.0.1:23456         23456 127.0.0.1:34567         34567
+ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDPLite.LADDR,UDPLite.LPORT,UDPLite.RADDR,UDPLite.RPORT: 0
+    3 UDP-Lite   SOCK                                   0                                                                 
+ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDPLite.LADDR,UDPLite.LPORT,UDPLite.RADDR,UDPLite.RPORT: 0
+NAME pattern match: OK
+    4 UDP-Lite   SOCK established     dgram              0  127.0.0.1  127.0.0.1 127.0.0.1:34567         34567
+ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDPLite.RADDR,UDPLite.RPORT: 0
+LADDR/LPORT pattern match: OK
+    3 UDP-Lite   SOCK state=close laddr=127.0.0.1:34567      close     dgram              0  127.0.0.1    0.0.0.0                               
+    4 UDP-Lite   SOCK state=close laddr=127.0.0.1:23456      close     dgram              0  127.0.0.1    0.0.0.0                               
 ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT: 0
index cbf8fa65c5bd319ca22035c97c8a633ebbaca903..9261771d82723f4a80e399fd67dce8610c435b11 100755 (executable)
@@ -15,7 +15,7 @@
 # GNU General Public License for more details.
 #
 TS_TOPDIR="${0%/*}/../.."
-TS_DESC="UDP sockets"
+TS_DESC="UDP and UDP-Lite sockets"
 
 . "$TS_TOPDIR"/functions.sh
 ts_init "$*"
@@ -29,22 +29,36 @@ ts_cd "$TS_OUTDIR"
 PID=
 FDS=3
 FDC=4
-EXPR='(TYPE == "UDP") and (FD >= 3) and (FD <= 4)'
-EXPR_server='(TYPE == "UDP") and (FD == 3)'
-EXPR_client='(TYPE == "UDP") and (FD == 4)'
+EXPR=(
+    '(TYPE == "UDP") and (FD >= 3) and (FD <= 4)'
+    '(TYPE == "UDP-Lite") and (FD >= 3) and (FD <= 4)'
+)
+EXPR_server=(
+    '(TYPE == "UDP") and (FD == 3)'
+    '(TYPE == "UDP-Lite") and (FD == 3)'
+)
+EXPR_client=(
+    '(TYPE == "UDP") and (FD == 4)'
+    '(TYPE == "UDP-Lite") and (FD == 4)'
+)
+COLNS=(
+    'UDP'
+    'UDPLite'
+)
 NAME=
 LADDR=
 LPORT=
 
-{
+for lite in 0 1; do
     coproc MKFDS { "$TS_HELPER_MKFDS" udp $FDS $FDC \
                                      server-port=34567 \
-                                     client-port=23456 ; }
+                                     client-port=23456 \
+                                     lite=$lite; }
     if read -r -u "${MKFDS[0]}" PID; then
        ${TS_CMD_LSFD} -n \
-                      -o ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT \
-                      -p "${PID}" -Q "${EXPR}"
-       echo 'ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT': $?
+                      -o ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,${COLNS[$lite]}.LADDR,${COLNS[$lite]}.LPORT,${COLNS[$lite]}.RADDR,${COLNS[$lite]}.RPORT \
+                      -p "${PID}" -Q "${EXPR[$lite]}"
+       echo "ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,${COLNS[$lite]}.LADDR,${COLNS[$lite]}.LPORT,${COLNS[$lite]}.RADDR,${COLNS[$lite]}.RPORT": $?
 
        kill -CONT "${PID}"
        wait "${MKFDS_PID}"
@@ -53,17 +67,18 @@ LPORT=
     coproc MKFDS { "$TS_HELPER_MKFDS" udp $FDS $FDC \
                                      server-port=34567 \
                                      client-port=23456 \
-                                     server-do-bind=no; }
+                                     server-do-bind=no \
+                                     lite=$lite; }
     if read -r -u "${MKFDS[0]}" PID; then
        ${TS_CMD_LSFD} -n \
-                      -o ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT \
-                      -p "${PID}" -Q "${EXPR_server}"
-       echo 'ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT': $?
+                      -o ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,${COLNS[$lite]}.LADDR,${COLNS[$lite]}.LPORT,${COLNS[$lite]}.RADDR,${COLNS[$lite]}.RPORT \
+                      -p "${PID}" -Q "${EXPR_server[$lite]}"
+       echo "ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,${COLNS[$lite]}.LADDR,${COLNS[$lite]}.LPORT,${COLNS[$lite]}.RADDR,${COLNS[$lite]}.RPORT": $?
 
        NAME=$(${TS_CMD_LSFD} -n \
-                              --raw \
+                             --raw \
                              -o NAME \
-                             -p "${PID}" -Q "${EXPR_server}")
+                             -p "${PID}" -Q "${EXPR_server[$lite]}")
        if [[ "$NAME" =~ ^socket:\[[[:digit:]]+\]$ ]]; then
            echo "NAME pattern match: OK"
        else
@@ -77,28 +92,29 @@ LPORT=
     coproc MKFDS { "$TS_HELPER_MKFDS" udp $FDS $FDC \
                                      server-port=34567 \
                                      client-port=23456 \
-                                     client-do-bind=no; }
+                                     client-do-bind=no \
+                                     lite=$lite; }
     if read -r -u "${MKFDS[0]}" PID; then
        ${TS_CMD_LSFD} -n \
-                      -o ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDP.RADDR,UDP.RPORT \
-                      -p "${PID}" -Q "${EXPR_client}"
-       echo 'ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDP.RADDR,UDP.RPORT': $?
+                      -o ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,${COLNS[$lite]}.RADDR,${COLNS[$lite]}.RPORT \
+                      -p "${PID}" -Q "${EXPR_client[$lite]}"
+       echo "ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,${COLNS[$lite]}.RADDR,${COLNS[$lite]}.RPORT": $?
 
        LADDR=$(${TS_CMD_LSFD} -n \
                               --raw \
-                              -o UDP.LADDR \
-                              -p "${PID}" -Q "${EXPR_client}")
+                              -o ${COLNS[$lite]}.LADDR \
+                              -p "${PID}" -Q "${EXPR_client[$lite]}")
        LPORT=$(${TS_CMD_LSFD} -n \
                               --raw \
-                              -o UDP.LPORT \
-                              -p "${PID}" -Q "${EXPR_client}")
+                              -o ${COLNS[$lite]}.LPORT \
+                              -p "${PID}" -Q "${EXPR_client[$lite]}")
 
        if [[ 127.0.0.1:$LPORT == ${LADDR} ]]; then
            echo "LADDR/LPORT pattern match: OK"
        else
            echo "LADDR/LPORT pattern match: FAILED (LADDR=$LADDR, LPORT=$LPORT)"
        fi
-       
+
        kill -CONT "${PID}"
        wait "${MKFDS_PID}"
     fi
@@ -106,16 +122,17 @@ LPORT=
     coproc MKFDS { "$TS_HELPER_MKFDS" udp $FDS $FDC \
                                      server-port=34567 \
                                      client-port=23456 \
-                                     client-do-connect=no; }
+                                     client-do-connect=no \
+                                     lite=$lite; }
     if read -r -u "${MKFDS[0]}" PID; then
        ${TS_CMD_LSFD} -n \
                       -o ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT \
-                      -p "${PID}" -Q "${EXPR}"
+                      -p "${PID}" -Q "${EXPR[$lite]}"
        echo 'ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT': $?
 
        kill -CONT "${PID}"
        wait "${MKFDS_PID}"
     fi
-} > "$TS_OUTPUT" 2>&1
+done > "$TS_OUTPUT" 2>&1
 
 ts_finalize