From: Masatake YAMATO Date: Tue, 28 Feb 2023 15:14:18 +0000 (+0900) Subject: tests: (lsfd) add a case for testing -i/--inet options X-Git-Tag: v2.39-rc1~46^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2e8ec722ee3537f17b6387280b33c9fb4078cb7f;p=thirdparty%2Futil-linux.git tests: (lsfd) add a case for testing -i/--inet options Signed-off-by: Masatake YAMATO --- diff --git a/tests/expected/lsfd/option-inet b/tests/expected/lsfd/option-inet new file mode 100644 index 0000000000..cebfded43c --- /dev/null +++ b/tests/expected/lsfd/option-inet @@ -0,0 +1,46 @@ +# --inet + 3 TCP state=listen laddr=127.0.0.1:34567 + 4 TCP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567 + 5 TCP state=established laddr=127.0.0.1:34567 raddr=127.0.0.1:23456 + 3 TCPv6 state=listen laddr=[::1]:34567 + 4 TCPv6 state=established laddr=[::1]:23456 raddr=[::1]:34567 + 5 TCPv6 state=established laddr=[::1]:34567 raddr=[::1]:23456 + 3 UDP state=close laddr=127.0.0.1:34567 + 4 UDP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567 + 3 UDPLITEv6 state=close laddr=[::1]:34567 + 4 UDPLITEv6 state=established laddr=[::1]:23456 raddr=[::1]:34567 +# --inet=4 + 3 TCP state=listen laddr=127.0.0.1:34567 + 4 TCP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567 + 5 TCP state=established laddr=127.0.0.1:34567 raddr=127.0.0.1:23456 + 3 UDP state=close laddr=127.0.0.1:34567 + 4 UDP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567 +# --inet=6 + 3 TCPv6 state=listen laddr=[::1]:34567 + 4 TCPv6 state=established laddr=[::1]:23456 raddr=[::1]:34567 + 5 TCPv6 state=established laddr=[::1]:34567 raddr=[::1]:23456 + 3 UDPLITEv6 state=close laddr=[::1]:34567 + 4 UDPLITEv6 state=established laddr=[::1]:23456 raddr=[::1]:34567 +# -i + 3 TCP state=listen laddr=127.0.0.1:34567 + 4 TCP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567 + 5 TCP state=established laddr=127.0.0.1:34567 raddr=127.0.0.1:23456 + 3 TCPv6 state=listen laddr=[::1]:34567 + 4 TCPv6 state=established laddr=[::1]:23456 raddr=[::1]:34567 + 5 TCPv6 state=established laddr=[::1]:34567 raddr=[::1]:23456 + 3 UDP state=close laddr=127.0.0.1:34567 + 4 UDP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567 + 3 UDPLITEv6 state=close laddr=[::1]:34567 + 4 UDPLITEv6 state=established laddr=[::1]:23456 raddr=[::1]:34567 +# -i4 + 3 TCP state=listen laddr=127.0.0.1:34567 + 4 TCP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567 + 5 TCP state=established laddr=127.0.0.1:34567 raddr=127.0.0.1:23456 + 3 UDP state=close laddr=127.0.0.1:34567 + 4 UDP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567 +# -i6 + 3 TCPv6 state=listen laddr=[::1]:34567 + 4 TCPv6 state=established laddr=[::1]:23456 raddr=[::1]:34567 + 5 TCPv6 state=established laddr=[::1]:34567 raddr=[::1]:23456 + 3 UDPLITEv6 state=close laddr=[::1]:34567 + 4 UDPLITEv6 state=established laddr=[::1]:23456 raddr=[::1]:34567 diff --git a/tests/ts/lsfd/option-inet b/tests/ts/lsfd/option-inet new file mode 100644 index 0000000000..20588af8f9 --- /dev/null +++ b/tests/ts/lsfd/option-inet @@ -0,0 +1,96 @@ +#!/bin/bash +# +# Copyright (C) 2023 Masatake YAMATO +# +# 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. +# +TS_TOPDIR="${0%/*}/../.." +TS_DESC="--inet option" + +. "$TS_TOPDIR"/functions.sh +ts_init "$*" + +ts_check_test_command "$TS_CMD_LSFD" +ts_check_test_command "$TS_HELPER_MKFDS" + +ts_cd "$TS_OUTDIR" + +{ + "$TS_HELPER_MKFDS" -q tcp 3 4 5 server-port=34567 client-port=23456 & + PID0=$! + + "$TS_HELPER_MKFDS" -q tcp6 3 4 5 server-port=34567 client-port=23456 & + PID1=$! + + "$TS_HELPER_MKFDS" -q ro-regular-file 3 file=/etc/passwd & + PID2=$! + + "$TS_HELPER_MKFDS" -q udp 3 4 server-port=34567 client-port=23456 server-do-bind=1 client-do-bind=1 client-do-connect=1& + PID3=$! + + "$TS_HELPER_MKFDS" -q udp6 3 4 lite=1 server-port=34567 client-port=23456 server-do-bind=1 client-do-bind=1 client-do-connect=1& + PID4=$! + + OPT='--inet' + echo "# $OPT" + ${TS_CMD_LSFD} -n \ + $OPT \ + -o ASSOC,TYPE,NAME \ + -Q "(PID == $PID0) or (PID == $PID1) or (PID == $PID2) or (PID == $PID3) or (PID == $PID4)" + + OPT='--inet=4' + echo "# $OPT" + ${TS_CMD_LSFD} -n \ + $OPT \ + -o ASSOC,TYPE,NAME \ + -Q "(PID == $PID0) or (PID == $PID1) or (PID == $PID2) or (PID == $PID3) or (PID == $PID4)" + + OPT='--inet=6' + echo "# $OPT" + ${TS_CMD_LSFD} -n \ + $OPT \ + -o ASSOC,TYPE,NAME \ + -Q "(PID == $PID0) or (PID == $PID1) or (PID == $PID2) or (PID == $PID3) or (PID == $PID4)" + + OPT='-i' + echo "# $OPT" + ${TS_CMD_LSFD} -n \ + $OPT \ + -o ASSOC,TYPE,NAME \ + -Q "(PID == $PID0) or (PID == $PID1) or (PID == $PID2) or (PID == $PID3) or (PID == $PID4)" + + OPT='-i4' + echo "# $OPT" + ${TS_CMD_LSFD} -n \ + $OPT \ + -o ASSOC,TYPE,NAME \ + -Q "(PID == $PID0) or (PID == $PID1) or (PID == $PID2) or (PID == $PID3) or (PID == $PID4)" + + OPT='-i6' + echo "# $OPT" + ${TS_CMD_LSFD} -n \ + $OPT \ + -o ASSOC,TYPE,NAME \ + -Q "(PID == $PID0) or (PID == $PID1) or (PID == $PID2) or (PID == $PID3) or (PID == $PID4)" + + kill -CONT "${PID0}" + wait "${PID0}" + + kill -CONT "${PID1}" + wait "${PID1}" + + kill -CONT "${PID2}" + wait "${PID2}" +} > "$TS_OUTPUT" 2>&1 + +ts_finalize