]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
tests: (lsfd) add a case for UDPLITEv6 sockets
authorMasatake YAMATO <yamato@redhat.com>
Wed, 22 Feb 2023 17:03:23 +0000 (02:03 +0900)
committerMasatake YAMATO <yamato@redhat.com>
Sun, 26 Feb 2023 08:26:33 +0000 (17:26 +0900)
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
tests/expected/lsfd/mkfds-udp6
tests/ts/lsfd/mkfds-udp6

index d701ff5a23f6d9b5168fd75b1594971da7c801c0..e29797bfd96d553bc428b4458ee74b213ea923a1 100644 (file)
@@ -10,3 +10,15 @@ LADDR/LPORT pattern match: OK
     3 UDPv6   SOCK state=close laddr=[::1]:34567      close     dgram              0         ::1          :: [::1]:34567     34567    [::]:0         0
     4 UDPv6   SOCK state=close laddr=[::1]:23456      close     dgram              0         ::1          :: [::1]:23456     23456    [::]:0         0
 ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT: 0
+    3 UDPLITEv6   SOCK state=close laddr=[::1]:34567                               close     dgram              0         ::1          ::   [::1]:34567         34567        [::]:0             0
+    4 UDPLITEv6   SOCK state=established laddr=[::1]:23456 raddr=[::1]:34567 established     dgram              0         ::1         ::1   [::1]:23456         23456   [::1]:34567         34567
+ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDPLite.LADDR,UDPLite.LPORT,UDPLite.RADDR,UDPLite.RPORT: 0
+    3 UDPLITEv6   SOCK                                   0                                                                   
+ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDPLite.LADDR,UDPLite.LPORT,UDPLite.RADDR,UDPLite.RPORT: 0
+NAME pattern match: OK
+    4 UDPLITEv6   SOCK established     dgram              0         ::1         ::1   [::1]:34567         34567
+ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDPLite.RADDR,UDPLite.RPORT: 0
+LADDR/LPORT pattern match: OK
+    3 UDPLITEv6   SOCK state=close laddr=[::1]:34567      close     dgram              0         ::1          ::   [::1]:34567         34567        [::]:0             0
+    4 UDPLITEv6   SOCK state=close laddr=[::1]:23456      close     dgram              0         ::1          ::   [::1]:23456         23456        [::]:0             0
+ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDPLite.LADDR,UDPLite.LPORT,UDPLite.RADDR,UDPLite.RPORT: 0
index 74815266c38f20af98fc842d113e528106cfe4eb..e3da894f6f39ad4ea3183f35845ee95835636144 100755 (executable)
@@ -15,7 +15,7 @@
 # GNU General Public License for more details.
 #
 TS_TOPDIR="${0%/*}/../.."
-TS_DESC="UDP6 sockets"
+TS_DESC="UDP6 and UDPLITEv6 sockets"
 
 . "$TS_TOPDIR"/functions.sh
 ts_init "$*"
@@ -29,22 +29,36 @@ ts_cd "$TS_OUTDIR"
 PID=
 FDS=3
 FDC=4
-EXPR='(TYPE == "UDPv6") and (FD >= 3) and (FD <= 4)'
-EXPR_server='(TYPE == "UDPv6") and (FD == 3)'
-EXPR_client='(TYPE == "UDPv6") and (FD == 4)'
+EXPR=(
+    '(TYPE == "UDPv6") and (FD >= 3) and (FD <= 4)'
+    '(TYPE == "UDPLITEv6") and (FD >= 3) and (FD <= 4)'
+)
+EXPR_server=(
+    '(TYPE == "UDPv6") and (FD == 3)'
+    '(TYPE == "UDPLITEv6") and (FD == 3)'
+)
+EXPR_client=(
+    '(TYPE == "UDPv6") and (FD == 4)'
+    '(TYPE == "UDPLITEv6") and (FD == 4)'
+)
+COLNS=(
+    'UDP'
+    'UDPLite'
+    )
 NAME=
 LADDR=
 LPORT=
 
-{
+for lite in 0 1; do
     coproc MKFDS { "$TS_HELPER_MKFDS" udp6 $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,INET6.LADDR,INET6.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT \
-                      -p "${PID}" -Q "${EXPR}"
-       echo 'ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT': $?
+                      -o ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.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,INET6.LADDR,INET6.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" udp6 $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,INET6.LADDR,INET6.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT \
-                      -p "${PID}" -Q "${EXPR_server}"
-       echo 'ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT': $?
+                      -o ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.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,INET6.LADDR,INET6.RADDR,${COLNS[$lite]}.LADDR,${COLNS[$lite]}.LPORT,${COLNS[$lite]}.RADDR,${COLNS[$lite]}.RPORT": $?
 
        NAME=$(${TS_CMD_LSFD} -n \
                              --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,21 +92,22 @@ LPORT=
     coproc MKFDS { "$TS_HELPER_MKFDS" udp6 $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,INET6.LADDR,INET6.RADDR,UDP.RADDR,UDP.RPORT \
-                      -p "${PID}" -Q "${EXPR_client}"
-       echo 'ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDP.RADDR,UDP.RPORT': $?
+                      -o ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,${COLNS[$lite]}.RADDR,${COLNS[$lite]}.RPORT \
+                      -p "${PID}" -Q "${EXPR_client[$lite]}"
+       echo "ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.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 [[ '[::1]':$LPORT == "${LADDR}" ]]; then
            echo "LADDR/LPORT pattern match: OK"
@@ -106,16 +122,17 @@ LPORT=
     coproc MKFDS { "$TS_HELPER_MKFDS" udp6 $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,INET6.LADDR,INET6.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT \
-                      -p "${PID}" -Q "${EXPR}"
-       echo 'ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT': $?
+                      -o ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.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,INET6.LADDR,INET6.RADDR,${COLNS[$lite]}.LADDR,${COLNS[$lite]}.LPORT,${COLNS[$lite]}.RADDR,${COLNS[$lite]}.RPORT": $?
 
        kill -CONT "${PID}"
        wait "${MKFDS_PID}"
     fi
-} > "$TS_OUTPUT" 2>&1
+done > "$TS_OUTPUT" 2>&1
 
 ts_finalize