From patchwork Thu Mar 29 15:45:35 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Vorel X-Patchwork-Id: 892830 X-Patchwork-Delegate: petr.vorel@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=lists.linux.it (client-ip=213.254.12.146; helo=picard.linux.it; envelope-from=ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=suse.cz Received: from picard.linux.it (picard.linux.it [213.254.12.146]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 40Bpxn2HXVz9s15 for ; Fri, 30 Mar 2018 02:46:05 +1100 (AEDT) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id AAA393E61BA for ; Thu, 29 Mar 2018 17:46:02 +0200 (CEST) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-7.smtp.seeweb.it (in-7.smtp.seeweb.it [217.194.8.7]) by picard.linux.it (Postfix) with ESMTP id BA49D3E601D for ; Thu, 29 Mar 2018 17:45:57 +0200 (CEST) Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by in-7.smtp.seeweb.it (Postfix) with ESMTPS id BA86F2A255E for ; Thu, 29 Mar 2018 17:45:55 +0200 (CEST) Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 4A0EEADFD; Thu, 29 Mar 2018 15:45:55 +0000 (UTC) From: Petr Vorel To: ltp@lists.linux.it Date: Thu, 29 Mar 2018 17:45:35 +0200 Message-Id: <20180329154537.32711-2-pvorel@suse.cz> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180329154537.32711-1-pvorel@suse.cz> References: <20180329154537.32711-1-pvorel@suse.cz> X-Virus-Scanned: clamav-milter 0.99.2 at in-7.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=-0.0 required=7.0 tests=SPF_PASS autolearn=disabled version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on in-7.smtp.seeweb.it Subject: [LTP] [RFC PATCH 1/3] test_net.sh: Support both old and new shell APIs X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.18 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it Sender: "ltp" This is temporary solution, after migrating all tests to new SHELL API the compatibility layer and old SHELL API support should be removed and file renamed to tst_net.sh. Signed-off-by: Petr Vorel --- testcases/lib/test_net.sh | 126 ++++++++++++++++++++++++++++------------------ testcases/lib/tst_test.sh | 1 + 2 files changed, 79 insertions(+), 48 deletions(-) diff --git a/testcases/lib/test_net.sh b/testcases/lib/test_net.sh index 203464f0d..3af2ee0b0 100644 --- a/testcases/lib/test_net.sh +++ b/testcases/lib/test_net.sh @@ -1,6 +1,6 @@ #!/bin/sh # Copyright (c) 2014-2017 Oracle and/or its affiliates. All Rights Reserved. -# Copyright (c) 2016-2017 Petr Vorel +# Copyright (c) 2016-2018 Petr Vorel # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as @@ -19,7 +19,54 @@ # Author: Alexey Kodanev # -[ -z "$TST_LIB_LOADED" ] && . test.sh +TST_OPTS=":6" +TST_PARSE_ARGS=parse_args +TST_USAGE=usage + +# Blank for an IPV4 test; 6 for an IPV6 test. +TST_IPV6= + +parse_args() +{ + case $1 in + 6) TST_IPV6=6;; + esac +} + +tst_read_opts() +{ + OPTIND=0 + while getopts "$TST_OPTS" opt; do + $TST_PARSE_ARGS "$opt" + done + OPTIND=0 +} + +usage() +{ + cat << EOF +usage: $0 [-6] + +OPTIONS +-6 Use IPv6 +EOF +} + +if [ -z "$TST_LIB_LOADED" ]; then + [ -n "$TST_USE_NEW_API" ] && . tst_test.sh || . test.sh +fi + +[ -z "$TST_USE_NEW_API" ] && tst_read_opts $* + +# old vs. new API compatibility layer +_tst_res() +{ + [ -n "$TST_USE_NEW_API" ] && tst_res $@ || tst_resm $@ +} +_tst_brk() +{ + [ -n "$TST_USE_NEW_API" ] && tst_brk $@ || tst_brkm $@ +} init_ltp_netspace() { @@ -81,7 +128,7 @@ tst_rhost_run() s) safe=1 ;; c) cmd="$OPTARG" ;; u) user="$OPTARG" ;; - *) tst_brkm TBROK "tst_rhost_run: unknown option: $OPTARG" ;; + *) _tst_brk TBROK "tst_rhost_run: unknown option: $OPTARG" ;; esac done @@ -89,8 +136,8 @@ tst_rhost_run() if [ -z "$cmd" ]; then [ "$safe" -eq 1 ] && \ - tst_brkm TBROK "tst_rhost_run: command not defined" - tst_resm TWARN "tst_rhost_run: command not defined" + _tst_brk TBROK "tst_rhost_run: command not defined" + _tst_res TWARN "tst_rhost_run: command not defined" return 1 fi @@ -110,7 +157,7 @@ tst_rhost_run() if [ $ret -eq 1 ]; then output=$(echo "$output" | sed 's/RTERR//') [ "$safe" -eq 1 ] && \ - tst_brkm TBROK "'$cmd' failed on '$RHOST': '$output'" + _tst_brk TBROK "'$cmd' failed on '$RHOST': '$output'" fi [ -z "$out" -a -n "$output" ] && echo "$output" @@ -122,9 +169,9 @@ EXPECT_RHOST_PASS() { tst_rhost_run -c "$*" > /dev/null if [ $? -eq 0 ]; then - tst_resm TPASS "$* passed as expected" + _tst_res TPASS "$* passed as expected" else - tst_resm TFAIL "$* failed unexpectedly" + _tst_res TFAIL "$* failed unexpectedly" fi } @@ -132,9 +179,9 @@ EXPECT_RHOST_FAIL() { tst_rhost_run -c "$* 2> /dev/null" if [ $? -ne 0 ]; then - tst_resm TPASS "$* failed as expected" + _tst_res TPASS "$* failed as expected" else - tst_resm TFAIL "$* passed unexpectedly" + _tst_res TFAIL "$* passed unexpectedly" fi } @@ -200,23 +247,6 @@ tst_iface() echo "$(tst_get_ifaces $type)" | awk '{ print $'"$link_num"' }' } -# Blank for an IPV4 test; 6 for an IPV6 test. -TST_IPV6= - -tst_read_opts() -{ - OPTIND=0 - while getopts ":6" opt; do - case "$opt" in - 6) - TST_IPV6=6;; - esac - done - OPTIND=0 -} - -tst_read_opts $* - # Get IP address # tst_ipaddr [TYPE] # TYPE: { lhost | rhost }; Default value is 'lhost'. @@ -302,7 +332,7 @@ tst_init_iface() local type="${1:-lhost}" local link_num="${2:-0}" local iface="$(tst_iface $type $link_num)" - tst_resm TINFO "initialize '$type' '$iface' interface" + _tst_res TINFO "initialize '$type' '$iface' interface" if [ "$type" = "lhost" ]; then ip xfrm policy flush || return $? @@ -340,12 +370,12 @@ tst_add_ipaddr() local iface=$(tst_iface $type $link_num) if [ $type = "lhost" ]; then - tst_resm TINFO "set local addr $(tst_ipaddr)/$mask" + _tst_res TINFO "set local addr $(tst_ipaddr)/$mask" ip addr add $(tst_ipaddr)/$mask dev $iface return $? fi - tst_resm TINFO "set remote addr $(tst_ipaddr rhost)/$mask" + _tst_res TINFO "set remote addr $(tst_ipaddr rhost)/$mask" tst_rhost_run -c "ip addr add $(tst_ipaddr rhost)/$mask dev $iface" } @@ -390,7 +420,7 @@ tst_wait_ipv6_dad() [ $ret -ne 0 -a $? -ne 0 ] && return [ $(($i % 10)) -eq 0 ] && \ - tst_resm TINFO "wait for IPv6 DAD completion $((i / 10))/5 sec" + _tst_res TINFO "wait for IPv6 DAD completion $((i / 10))/5 sec" tst_sleep 100ms done @@ -443,7 +473,7 @@ tst_netload() f) cs_opts="${cs_opts}-f " ;; F) cs_opts="${cs_opts}-F " ;; e) expect_res="$OPTARG" ;; - *) tst_brkm TBROK "tst_netload: unknown option: $OPTARG" ;; + *) _tst_brk TBROK "tst_netload: unknown option: $OPTARG" ;; esac done OPTIND=0 @@ -455,37 +485,37 @@ tst_netload() tst_rhost_run -c "pkill -9 netstress\$" s_opts="${cs_opts}${s_opts}-R $s_replies -B $TST_TMPDIR" - tst_resm TINFO "run server 'netstress $s_opts'" + _tst_res TINFO "run server 'netstress $s_opts'" tst_rhost_run -c "netstress $s_opts" > tst_netload.log 2>&1 if [ $? -ne 0 ]; then cat tst_netload.log local ttype="TFAIL" grep -e 'CONF:' tst_netload.log && ttype="TCONF" - tst_brkm $ttype "server failed" + _tst_brk $ttype "server failed" fi local port=$(tst_rhost_run -s -c "cat $TST_TMPDIR/netstress_port") c_opts="${cs_opts}${c_opts}-a $c_num -r $c_requests -d $rfile -g $port" - tst_resm TINFO "run client 'netstress -l $c_opts'" + _tst_res TINFO "run client 'netstress -l $c_opts'" netstress -l $c_opts > tst_netload.log 2>&1 || ret=1 tst_rhost_run -c "pkill -9 netstress\$" if [ "$expect_ret" -ne "$ret" ]; then tst_dump_rhost_cmd cat tst_netload.log - tst_brkm TFAIL "expected '$expect_res' but ret: '$ret'" + _tst_brk TFAIL "expected '$expect_res' but ret: '$ret'" fi if [ "$ret" -eq 0 ]; then if [ ! -f $rfile ]; then tst_dump_rhost_cmd cat tst_netload.log - tst_brkm TFAIL "can't read $rfile" + _tst_brk TFAIL "can't read $rfile" fi - tst_resm TPASS "netstress passed, time spent '$(cat $rfile)' ms" + _tst_res TPASS "netstress passed, time spent '$(cat $rfile)' ms" else - tst_resm TPASS "netstress failed as expected" + _tst_res TPASS "netstress failed as expected" fi return $ret @@ -516,9 +546,9 @@ tst_ping() -s $size -i 0 > /dev/null 2>&1 ret=$? if [ $ret -eq 0 ]; then - tst_resm TPASS "$msg $size: pass" + _tst_res TPASS "$msg $size: pass" else - tst_resm TFAIL "$msg $size: fail" + _tst_res TFAIL "$msg $size: fail" break fi done @@ -558,9 +588,9 @@ tst_icmp() ns-icmpv${ver}_sender -s $size $opts ret=$? if [ $ret -eq 0 ]; then - tst_resm TPASS "'ns-icmpv${ver}_sender -s $size $opts' pass" + _tst_res TPASS "'ns-icmpv${ver}_sender -s $size $opts' pass" else - tst_resm TFAIL "'ns-icmpv${ver}_sender -s $size $opts' fail" + _tst_res TFAIL "'ns-icmpv${ver}_sender -s $size $opts' fail" break fi done @@ -644,10 +674,10 @@ if [ -z "$TST_PARSE_VARIABLES" ]; then eval $(tst_net_vars $IPV6_LHOST/$IPV6_LPREFIX \ $IPV6_RHOST/$IPV6_RPREFIX || echo "exit $?") - tst_resm TINFO "Network config (local -- remote):" - tst_resm TINFO "$LHOST_IFACES -- $RHOST_IFACES" - tst_resm TINFO "$IPV4_LHOST/$IPV4_LPREFIX -- $IPV4_RHOST/$IPV4_RPREFIX" - tst_resm TINFO "$IPV6_LHOST/$IPV6_LPREFIX -- $IPV6_RHOST/$IPV6_RPREFIX" + _tst_res TINFO "Network config (local -- remote):" + _tst_res TINFO "$LHOST_IFACES -- $RHOST_IFACES" + _tst_res TINFO "$IPV4_LHOST/$IPV4_LPREFIX -- $IPV4_RHOST/$IPV4_RPREFIX" + _tst_res TINFO "$IPV6_LHOST/$IPV6_LPREFIX -- $IPV6_RHOST/$IPV6_RPREFIX" export TST_PARSE_VARIABLES="yes" fi @@ -687,7 +717,7 @@ export RHOST_HWADDRS="${RHOST_HWADDRS:-$(tst_get_hwaddrs rhost)}" # in the following document: testcases/network/stress/README if [ "$TST_NEEDS_TMPDIR" = 1 ]; then - tst_tmpdir + [ -z "$TST_USE_NEW_API" ] && tst_tmpdir tst_rhost_run -c "mkdir -p $TST_TMPDIR" tst_rhost_run -c "chmod 777 $TST_TMPDIR" export TST_TMPDIR_RHOST=1 diff --git a/testcases/lib/tst_test.sh b/testcases/lib/tst_test.sh index 48afb9cc4..78bd328a2 100644 --- a/testcases/lib/tst_test.sh +++ b/testcases/lib/tst_test.sh @@ -255,6 +255,7 @@ tst_run() OPTS|USAGE|PARSE_ARGS|POS_ARGS);; NEEDS_ROOT|NEEDS_TMPDIR|NEEDS_DEVICE|DEVICE);; NEEDS_CMDS|NEEDS_MODULE|MODPATH|DATAROOT);; + IPV6);; *) tst_res TWARN "Reserved variable TST_$tst_i used!";; esac done From patchwork Thu Mar 29 15:45:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Vorel X-Patchwork-Id: 892832 X-Patchwork-Delegate: petr.vorel@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=lists.linux.it (client-ip=213.254.12.146; helo=picard.linux.it; envelope-from=ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=suse.cz Received: from picard.linux.it (picard.linux.it [213.254.12.146]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 40Bpxr34Hsz9s0t for ; Fri, 30 Mar 2018 02:46:08 +1100 (AEDT) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id E5D703E7144 for ; Thu, 29 Mar 2018 17:46:05 +0200 (CEST) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-3.smtp.seeweb.it (in-3.smtp.seeweb.it [217.194.8.3]) by picard.linux.it (Postfix) with ESMTP id 27AE83E601D for ; Thu, 29 Mar 2018 17:45:57 +0200 (CEST) Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by in-3.smtp.seeweb.it (Postfix) with ESMTPS id 7E00A1A017C3 for ; Thu, 29 Mar 2018 17:45:56 +0200 (CEST) Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 1FFEDAE63; Thu, 29 Mar 2018 15:45:56 +0000 (UTC) From: Petr Vorel To: ltp@lists.linux.it Date: Thu, 29 Mar 2018 17:45:36 +0200 Message-Id: <20180329154537.32711-3-pvorel@suse.cz> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180329154537.32711-1-pvorel@suse.cz> References: <20180329154537.32711-1-pvorel@suse.cz> X-Virus-Scanned: clamav-milter 0.99.2 at in-3.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=-0.0 required=7.0 tests=SPF_PASS autolearn=disabled version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on in-3.smtp.seeweb.it Subject: [LTP] [RFC PATCH 2/3] network/interface: Cleanup if4-addr-change X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.18 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it Sender: "ltp" Wrap test code into function. This is preparation for next commit. Signed-off-by: Petr Vorel --- testcases/network/stress/interface/if4-addr-change | 60 ++++++++++++---------- 1 file changed, 33 insertions(+), 27 deletions(-) diff --git a/testcases/network/stress/interface/if4-addr-change b/testcases/network/stress/interface/if4-addr-change index 4eaabd70c..f145035a9 100644 --- a/testcases/network/stress/interface/if4-addr-change +++ b/testcases/network/stress/interface/if4-addr-change @@ -35,42 +35,48 @@ do_cleanup() trap "tst_brkm TBROK 'test interrupted'" INT -tst_check_cmds ifconfig +test_body() +{ + local cnt=0 + local num=1 + local add_to_net= + + tst_resm TINFO "ifconfig changes IPv4 address $NS_TIMES times" -tst_resm TINFO "ifconfig changes IPv4 address $NS_TIMES times" + while [ $cnt -lt $NS_TIMES ]; do + # Define the network portion + num=$(($num + 1)) + [ $num -gt $LHOST_IPV4_HOST_MAX ] && num=1 -cnt=0 -num=1 -while [ $cnt -lt $NS_TIMES ]; do - # Define the network portion - num=$(($num + 1)) - [ $num -gt $LHOST_IPV4_HOST_MAX ] && num=1 + [ $num -eq $RHOST_IPV4_HOST ] && continue - [ $num -eq $RHOST_IPV4_HOST ] && continue + # check prefix and fix values for prefix != 24 + add_to_net= + if [ $IPV4_LPREFIX -lt 8 -o $IPV4_LPREFIX -ge 32 ] ; then + tst_brkm TCONF "test must be with prefix >= 8 and prefix < 32 ($IPV4_LPREFIX)" + elif [ $IPV4_LPREFIX -lt 16 ]; then # N.x.x.num + add_to_net=".0.1" + elif [ $IPV4_LPREFIX -lt 24 ]; then # N.N.x.num + add_to_net=".1" + fi - # check prefix and fix values for prefix != 24 - add_to_net= - if [ $IPV4_LPREFIX -lt 8 -o $IPV4_LPREFIX -ge 32 ] ; then - tst_brkm TCONF "test must be with prefix >= 8 and prefix < 32 ($IPV4_LPREFIX)" - elif [ $IPV4_LPREFIX -lt 16 ]; then # N.x.x.num - add_to_net=".0.1" - elif [ $IPV4_LPREFIX -lt 24 ]; then # N.N.x.num - add_to_net=".1" - fi + # Change IPv4 address + ROD ifconfig $(tst_iface) ${IPV4_LNETWORK}${add_to_net}.${num} netmask \ + $IPV4_LNETMASK broadcast $IPV4_LBROADCAST - # Change IPv4 address - ROD ifconfig $(tst_iface) ${IPV4_LNETWORK}${add_to_net}.${num} netmask \ - $IPV4_LNETMASK broadcast $IPV4_LBROADCAST + cnt=$(($cnt + 1)) - cnt=$(($cnt + 1)) + [ $CHECK_INTERVAL -eq 0 ] && continue + [ $(($cnt % $CHECK_INTERVAL)) -ne 0 ] && continue - [ $CHECK_INTERVAL -eq 0 ] && continue - [ $(($cnt % $CHECK_INTERVAL)) -ne 0 ] && continue + tst_resm TINFO "ping $(tst_ipaddr):$(tst_ipaddr rhost) ${cnt}/$NS_TIMES" + tst_ping + done - tst_resm TINFO "ping $(tst_ipaddr):$(tst_ipaddr rhost) ${cnt}/$NS_TIMES" tst_ping -done +} -tst_ping +tst_check_cmds ifconfig +test_body tst_exit From patchwork Thu Mar 29 15:45:37 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Vorel X-Patchwork-Id: 892833 X-Patchwork-Delegate: petr.vorel@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=lists.linux.it (client-ip=213.254.12.146; helo=picard.linux.it; envelope-from=ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=suse.cz Received: from picard.linux.it (picard.linux.it [213.254.12.146]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 40Bpxw0HGTz9s0t for ; Fri, 30 Mar 2018 02:46:11 +1100 (AEDT) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id 174703E7482 for ; Thu, 29 Mar 2018 17:46:09 +0200 (CEST) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-6.smtp.seeweb.it (in-6.smtp.seeweb.it [IPv6:2001:4b78:1:20::6]) by picard.linux.it (Postfix) with ESMTP id C7FB53E601D for ; Thu, 29 Mar 2018 17:45:58 +0200 (CEST) Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by in-6.smtp.seeweb.it (Postfix) with ESMTPS id 7B6B21401FCE for ; Thu, 29 Mar 2018 17:45:57 +0200 (CEST) Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id F219FAE6A; Thu, 29 Mar 2018 15:45:56 +0000 (UTC) From: Petr Vorel To: ltp@lists.linux.it Date: Thu, 29 Mar 2018 17:45:37 +0200 Message-Id: <20180329154537.32711-4-pvorel@suse.cz> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180329154537.32711-1-pvorel@suse.cz> References: <20180329154537.32711-1-pvorel@suse.cz> X-Virus-Scanned: clamav-milter 0.99.2 at in-6.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=-0.0 required=7.0 tests=SPF_PASS autolearn=disabled version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on in-6.smtp.seeweb.it Subject: [LTP] [RFC PATCH 3/3] net: Migrate test_net_stress.sh and it's dependencies to new shell API X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.18 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it Sender: "ltp" Signed-off-by: Petr Vorel --- testcases/network/stress/interface/if-addr-adddel | 31 ++++++++---------- .../network/stress/interface/if-addr-addlarge | 37 ++++++++++------------ testcases/network/stress/interface/if-mtu-change | 24 ++++++-------- testcases/network/stress/interface/if-route-adddel | 26 ++++++--------- .../network/stress/interface/if-route-addlarge | 28 +++++++--------- testcases/network/stress/interface/if-updown | 27 +++++++--------- testcases/network/stress/interface/if4-addr-change | 25 +++++++++------ .../grp-operation/mcast-group-multiple-socket | 16 ++++++---- .../multicast/grp-operation/mcast-group-same-group | 17 +++++++--- .../grp-operation/mcast-group-single-socket | 17 +++++++--- .../grp-operation/mcast-group-source-filter | 17 +++++++--- .../stress/multicast/grp-operation/mcast-lib.sh | 15 +++++---- .../network/stress/ns-tools/test_net_stress.sh | 19 ++++++++++- 13 files changed, 156 insertions(+), 143 deletions(-) diff --git a/testcases/network/stress/interface/if-addr-adddel b/testcases/network/stress/interface/if-addr-adddel index 4a0501e09..a8fe0e06a 100644 --- a/testcases/network/stress/interface/if-addr-adddel +++ b/testcases/network/stress/interface/if-addr-adddel @@ -1,5 +1,6 @@ #!/bin/sh # Copyright (c) 2015 Oracle and/or its affiliates. All Rights Reserved. +# Copyright (c) 2017-2018 Petr Vorel # Copyright (c) International Business Machines Corp., 2005 # # This program is free software; you can redistribute it and/or @@ -17,10 +18,10 @@ # # Author: Mitsuru Chinen -TST_TOTAL=2 - +TST_CNT=2 +TST_SETUP="netstress_setup" TST_CLEANUP="netstress_cleanup" - +TST_TESTFUNC="test_if_ip" . test_net_stress.sh # The interval of the check interface activity @@ -33,7 +34,7 @@ test_body() case $cmd_type in if_cmd) local cmd_name='ifconfig' ;; ip_cmd) local cmd_name='ip' ;; - *) tst_brkm TBROK "Unknown test parameter '$cmd_type'" + *) tst_brk TBROK "Unknown test parameter '$cmd_type'" esac local num=$(($(od -A n -t u1 -N 1 /dev/random) * 253 / 255 + 2 )) @@ -46,10 +47,10 @@ test_body() local netmask=24 fi - tst_resm TINFO "'$cmd_name' add/del IPv$ipver '$new_ip' $NS_TIMES times" + tst_res TINFO "'$cmd_name' add/del IPv$ipver '$new_ip' $NS_TIMES times" if ! restore_ipaddr; then - tst_resm TBROK "Failed to set default IP addresses" + tst_res TBROK "Failed to set default IP addresses" return fi @@ -69,14 +70,14 @@ test_body() esac if [ $? -ne 0 ]; then - tst_resm TFAIL "command failed to add $new_ip to $iface" + tst_res TFAIL "command failed to add $new_ip to $iface" return fi ip addr show $iface | grep -q $new_ip if [ $? -ne 0 ]; then ip addr show $iface - tst_resm TFAIL "$new_ip not configured" + tst_res TFAIL "$new_ip not configured" return fi @@ -96,26 +97,20 @@ test_body() esac if [ $? -ne 0 ]; then - tst_resm TFAIL " delete command failed". + tst_res TFAIL " delete command failed". return fi ip addr show $iface | grep -q $new_ip if [ $? -eq 0 ]; then ip addr show $iface - tst_resm TFAIL "Failed to remove '$new_ip' address" + tst_res TFAIL "Failed to remove '$new_ip' address" return fi done - tst_resm TPASS "Test is finished correctly" + tst_res TPASS "Test is finished correctly" } -netstress_setup - tst_check_cmds ifconfig - -test_body 'if_cmd' -test_body 'ip_cmd' - -tst_exit +tst_run diff --git a/testcases/network/stress/interface/if-addr-addlarge b/testcases/network/stress/interface/if-addr-addlarge index a81cf6129..c4b2c4ab4 100644 --- a/testcases/network/stress/interface/if-addr-addlarge +++ b/testcases/network/stress/interface/if-addr-addlarge @@ -1,5 +1,6 @@ #!/bin/sh # Copyright (c) 2015 Oracle and/or its affiliates. All Rights Reserved. +# Copyright (c) 2017-2018 Petr Vorel # Copyright (c) International Business Machines Corp., 2005 # # This program is free software; you can redistribute it and/or @@ -17,10 +18,10 @@ # # Author: Mitsuru Chinen -TST_TOTAL=2 - +TST_CNT=2 +TST_SETUP="netstress_setup" TST_CLEANUP="netstress_cleanup" - +TST_TESTFUNC="test_if_ip" . test_net_stress.sh # The interval of the check interface activity @@ -33,17 +34,17 @@ test_body() case $cmd_type in if_cmd) local cmd_name='ifconfig' ;; ip_cmd) local cmd_name='ip' ;; - *) tst_brkm TBROK "Unknown test parameter '$cmd_type'" + *) tst_brk TBROK "Unknown test parameter '$cmd_type'" esac local iface=$(tst_iface) [ "$TST_IPV6" ] && local netmask=64 || local netmask=16 - tst_resm TINFO "'$cmd_name' add $IP_TOTAL IPv$ipver addresses" - tst_resm TINFO "check interval that $iface is working: $CHECK_INTERVAL" + tst_res TINFO "'$cmd_name' add $IP_TOTAL IPv$ipver addresses" + tst_res TINFO "check interval that $iface is working: $CHECK_INTERVAL" if ! restore_ipaddr; then - tst_resm TBROK "Failed to set default IP addresses" + tst_res TBROK "Failed to set default IP addresses" return fi @@ -54,7 +55,7 @@ test_body() [ "$TST_IPV6" ] && local xymax=65535 || xymax=254 if [ $IP_TOTAL -gt $((xymax * xymax)) ]; then - tst_resm TWARN "set IP_TOTAL to $xymax * $xymax" + tst_res TWARN "set IP_TOTAL to $xymax * $xymax" IP_TOTAL=$((xymax * xymax)) fi @@ -81,14 +82,14 @@ test_body() esac if [ $? -ne 0 ]; then - tst_resm TFAIL "command failed to add $new_ip to $iface" + tst_res TFAIL "command failed to add $new_ip to $iface" return fi ip addr show $iface | grep -q $new_ip if [ $? -ne 0 ]; then ip addr show $iface - tst_resm TFAIL "$new_ip not configured" + tst_res TFAIL "$new_ip not configured" return fi @@ -106,14 +107,14 @@ test_body() esac if [ $? -ne 0 ]; then - tst_resm TFAIL " delete command failed". + tst_res TFAIL " delete command failed". return fi ip addr show $iface | grep -q $new_ip if [ $? -eq 0 ]; then ip addr show $iface - tst_resm TFAIL "Failed to remove '$new_ip' address" + tst_res TFAIL "Failed to remove '$new_ip' address" return fi @@ -123,19 +124,13 @@ test_body() y=1 x=$(($x + 1)) if [ $x -gt $xymax ]; then - tst_brkm TBROK "Too large $IP_TOTAL" + tst_brk TBROK "Too large $IP_TOTAL" fi fi done - tst_resm TPASS "Test is finished correctly" + tst_res TPASS "Test is finished correctly" } -netstress_setup - tst_check_cmds ifconfig - -test_body 'if_cmd' -test_body 'ip_cmd' - -tst_exit +tst_run diff --git a/testcases/network/stress/interface/if-mtu-change b/testcases/network/stress/interface/if-mtu-change index 15293c4a9..e2608318c 100644 --- a/testcases/network/stress/interface/if-mtu-change +++ b/testcases/network/stress/interface/if-mtu-change @@ -1,5 +1,6 @@ #!/bin/sh # Copyright (c) 2015-2017 Oracle and/or its affiliates. All Rights Reserved. +# Copyright (c) 2017-2018 Petr Vorel # Copyright (c) International Business Machines Corp., 2005 # # This program is free software; you can redistribute it and/or @@ -17,10 +18,10 @@ # # Author: Mitsuru Chinen -TST_TOTAL=2 - +TST_CNT=2 +TST_SETUP="netstress_setup" TST_CLEANUP="do_cleanup" - +TST_TESTFUNC="test_if_ip" . test_net_stress.sh # The interval of the mtu change [second] @@ -52,14 +53,14 @@ test_body() case $cmd_type in if_cmd) local cmd_name='ifconfig' ;; ip_cmd) local cmd_name='ip' ;; - *) tst_brkm TBROK "Unknown test parameter '$cmd_type'" + *) tst_brk TBROK "Unknown test parameter '$cmd_type'" esac local iface=$(tst_iface) local iface_rmt=$(tst_iface rhost) [ "$TST_IPV6" ] && local netmask=64 || local netmask=16 - tst_resm TINFO "'$cmd_name changes MTU $MTU_CHANGE_TIMES times" \ + tst_res TINFO "'$cmd_name changes MTU $MTU_CHANGE_TIMES times" \ "every $CHANGE_INTERVAL seconds" mtu_array_len=$(echo $CHANGE_VALUES | wc -w) @@ -73,7 +74,7 @@ test_body() make_background_tcp_traffic - tst_resm TINFO "set MTU to $mtu $cnt/$MTU_CHANGE_TIMES" + tst_res TINFO "set MTU to $mtu $cnt/$MTU_CHANGE_TIMES" local ret=0 case $cmd_type in if_cmd) ifconfig $iface mtu $mtu || ret=1 @@ -85,7 +86,7 @@ test_body() esac if [ $? -ne 0 -o $ret -ne 0 ]; then - tst_resm TFAIL "Failed to change the mtu at $cnt time" + tst_res TFAIL "Failed to change the mtu at $cnt time" return fi @@ -95,13 +96,6 @@ test_body() done } -netstress_setup - tst_check_cmds ifconfig - saved_mtu="$(cat /sys/class/net/$(tst_iface)/mtu)" - -test_body 'if_cmd' -test_body 'ip_cmd' - -tst_exit +tst_run diff --git a/testcases/network/stress/interface/if-route-adddel b/testcases/network/stress/interface/if-route-adddel index 8c1dfeee2..e629f30e7 100644 --- a/testcases/network/stress/interface/if-route-adddel +++ b/testcases/network/stress/interface/if-route-adddel @@ -17,10 +17,10 @@ # # Author: Mitsuru Chinen -TST_TOTAL=2 - +TST_CNT=2 +TST_SETUP="netstress_setup" TST_CLEANUP="netstress_cleanup" - +TST_TESTFUNC="test_rt_ip" . test_net_stress.sh CHECK_INTERVAL=${CHECK_INTERVAL:-$(($NS_TIMES / 20))} @@ -32,7 +32,7 @@ test_body() case $cmd_type in rt_cmd) local cmd_name='route' ;; ip_cmd) local cmd_name='ip' ;; - *) tst_brkm TBROK "Unknown test parameter '$cmd_type'" + *) tst_brk TBROK "Unknown test parameter '$cmd_type'" esac local iface=$(tst_iface) @@ -50,10 +50,10 @@ test_body() esac fi - tst_resm TINFO "'$cmd_name' add/del ${new_rt}${opt_rt} $NS_TIMES times" + tst_res TINFO "'$cmd_name' add/del ${new_rt}${opt_rt} $NS_TIMES times" if ! restore_ipaddr; then - tst_resm TBROK "Failed to set default IP addresses" + tst_res TBROK "Failed to set default IP addresses" return fi @@ -66,7 +66,7 @@ test_body() ip_cmd) ip route add ${new_rt}${opt_rt} dev $iface ;; esac if [ $? -ne 0 ]; then - tst_resm TFAIL "Can't add route $new_rt to $iface" + tst_res TFAIL "Can't add route $new_rt to $iface" return fi @@ -75,7 +75,7 @@ test_body() ip_cmd) ip route del ${new_rt}${opt_rt} dev $iface ;; esac if [ $? -ne 0 ]; then - tst_resm TFAIL "Can't del route $new_rt from $iface" + tst_res TFAIL "Can't del route $new_rt from $iface" return fi @@ -84,14 +84,8 @@ test_body() cnt=$(($cnt + 1)) done - tst_resm TPASS "Test is finished correctly" + tst_res TPASS "Test is finished correctly" } -netstress_setup - tst_check_cmds route - -test_body 'rt_cmd' -test_body 'ip_cmd' - -tst_exit +tst_run diff --git a/testcases/network/stress/interface/if-route-addlarge b/testcases/network/stress/interface/if-route-addlarge index eee0959c8..ce8bb752a 100644 --- a/testcases/network/stress/interface/if-route-addlarge +++ b/testcases/network/stress/interface/if-route-addlarge @@ -17,10 +17,10 @@ # # Author: Mitsuru Chinen -TST_TOTAL=2 - +TST_CNT=2 +TST_SETUP="netstress_setup" TST_CLEANUP="netstress_cleanup" - +TST_TESTFUNC="test_rt_ip" . test_net_stress.sh CHECK_INTERVAL=${CHECK_INTERVAL:-$(($ROUTE_TOTAL / 20))} @@ -32,7 +32,7 @@ test_body() case $cmd_type in rt_cmd) local cmd_name='route' ;; ip_cmd) local cmd_name='ip' ;; - *) tst_brkm TBROK "Unknown test parameter '$cmd_type'" + *) tst_brk TBROK "Unknown test parameter '$cmd_type'" esac local iface=$(tst_iface) @@ -47,10 +47,10 @@ test_body() esac fi - tst_resm TINFO "'$cmd_name' add IPv$ipver $ROUTE_TOTAL routes" + tst_res TINFO "'$cmd_name' add IPv$ipver $ROUTE_TOTAL routes" if ! restore_ipaddr; then - tst_resm TBROK "Failed to set default IP addresses" + tst_res TBROK "Failed to set default IP addresses" return fi @@ -61,7 +61,7 @@ test_body() [ "$TST_IPV6" ] && local xymax=65535 || xymax=254 if [ $ROUTE_TOTAL -gt $((xymax * xymax)) ]; then - tst_resm TWARN "set ROUTE_TOTAL to $xymax * $xymax" + tst_res TWARN "set ROUTE_TOTAL to $xymax * $xymax" ROUTE_TOTAL=$((xymax * xymax)) fi @@ -81,7 +81,7 @@ test_body() ip_cmd) ip route add ${new_rt}${opt_rt} dev $iface ;; esac if [ $? -ne 0 ]; then - tst_resm TFAIL "Can't add route $new_rt to $iface" + tst_res TFAIL "Can't add route $new_rt to $iface" return fi @@ -93,19 +93,13 @@ test_body() y=1 x=$(($x + 1)) if [ $x -gt $xymax ]; then - tst_brkm TBROK "Too large $ROUTE_TOTAL" + tst_brk TBROK "Too large $ROUTE_TOTAL" fi fi done - tst_resm TPASS "Test is finished correctly" + tst_res TPASS "Test is finished correctly" } -netstress_setup - tst_check_cmds route - -test_body 'rt_cmd' -test_body 'ip_cmd' - -tst_exit +tst_run diff --git a/testcases/network/stress/interface/if-updown b/testcases/network/stress/interface/if-updown index 264331adb..2e6b0d4db 100644 --- a/testcases/network/stress/interface/if-updown +++ b/testcases/network/stress/interface/if-updown @@ -1,5 +1,6 @@ #!/bin/sh # Copyright (c) 2015 Oracle and/or its affiliates. All Rights Reserved. +# Copyright (c) 2017-2018 Petr Vorel # Copyright (c) International Business Machines Corp., 2005 # # This program is free software; you can redistribute it and/or @@ -17,10 +18,10 @@ # # Author: Mitsuru Chinen -TST_TOTAL=2 - +TST_CNT=2 +TST_SETUP="netstress_setup" TST_CLEANUP="netstress_cleanup" - +TST_TESTFUNC="test_if_ip" . test_net_stress.sh CHECK_INTERVAL=${CHECK_INTERVAL:-$(($IF_UPDOWN_TIMES / 20))} @@ -32,13 +33,13 @@ test_body() case $cmd_type in if_cmd) local cmd_name='ifconfig' ;; ip_cmd) local cmd_name='ip' ;; - *) tst_brkm TBROK "Unknown test parameter '$cmd_type'" + *) tst_brk TBROK "Unknown test parameter '$cmd_type'" esac local iface=$(tst_iface) - tst_resm TINFO "'$cmd_name ups/downs $iface $IF_UPDOWN_TIMES times" - tst_resm TINFO "check connectivity interval is $CHECK_INTERVAL" + tst_res TINFO "'$cmd_name ups/downs $iface $IF_UPDOWN_TIMES times" + tst_res TINFO "check connectivity interval is $CHECK_INTERVAL" local cnt=1 while [ $cnt -le $IF_UPDOWN_TIMES ]; do @@ -47,7 +48,7 @@ test_body() ip_cmd) ip link set $iface down ;; esac if [ $? -ne 0 ]; then - tst_resm TFAIL "Failed to down $iface" + tst_res TFAIL "Failed to down $iface" return fi @@ -56,7 +57,7 @@ test_body() ip_cmd) ip link set $iface up ;; esac if [ $? -ne 0 ]; then - tst_resm TFAIL "Failed to up $iface" + tst_res TFAIL "Failed to up $iface" return fi @@ -65,14 +66,8 @@ test_body() cnt=$(($cnt + 1)) done - tst_resm TPASS "Test is finished correctly" + tst_res TPASS "Test is finished correctly" } -netstress_setup - tst_check_cmds ifconfig - -test_body 'if_cmd' -test_body 'ip_cmd' - -tst_exit +tst_run diff --git a/testcases/network/stress/interface/if4-addr-change b/testcases/network/stress/interface/if4-addr-change index f145035a9..25efc3734 100644 --- a/testcases/network/stress/interface/if4-addr-change +++ b/testcases/network/stress/interface/if4-addr-change @@ -1,5 +1,6 @@ #!/bin/sh # Copyright (c) 2015-2016 Oracle and/or its affiliates. All Rights Reserved. +# Copyright (c) 2017-2018 Petr Vorel # Copyright (c) International Business Machines Corp., 2005 # # This program is free software; you can redistribute it and/or @@ -17,23 +18,30 @@ # # Author: Mitsuru Chinen -TST_TOTAL=1 +TST_CNT=1 TCID=if4-addr-change +TST_SETUP="do_setup" TST_CLEANUP="do_cleanup" - +TST_USE_NEW_API=1 +TST_TESTFUNC="test_body" . test_net.sh CHECK_INTERVAL=${CHECK_INTERVAL:-$(($NS_TIMES / 20))} # Maximum host portion of the IPv4 address on the local host LHOST_IPV4_HOST_MAX="254" +do_setup() +{ + tst_check_cmds ifconfig +} + do_cleanup() { tst_restore_ipaddr tst_wait_ipv6_dad } -trap "tst_brkm TBROK 'test interrupted'" INT +trap "tst_brk TBROK 'test interrupted'" INT test_body() { @@ -41,7 +49,7 @@ test_body() local num=1 local add_to_net= - tst_resm TINFO "ifconfig changes IPv4 address $NS_TIMES times" + tst_res TINFO "ifconfig changes IPv4 address $NS_TIMES times" while [ $cnt -lt $NS_TIMES ]; do # Define the network portion @@ -53,7 +61,7 @@ test_body() # check prefix and fix values for prefix != 24 add_to_net= if [ $IPV4_LPREFIX -lt 8 -o $IPV4_LPREFIX -ge 32 ] ; then - tst_brkm TCONF "test must be with prefix >= 8 and prefix < 32 ($IPV4_LPREFIX)" + tst_brk TCONF "test must be with prefix >= 8 and prefix < 32 ($IPV4_LPREFIX)" elif [ $IPV4_LPREFIX -lt 16 ]; then # N.x.x.num add_to_net=".0.1" elif [ $IPV4_LPREFIX -lt 24 ]; then # N.N.x.num @@ -69,14 +77,11 @@ test_body() [ $CHECK_INTERVAL -eq 0 ] && continue [ $(($cnt % $CHECK_INTERVAL)) -ne 0 ] && continue - tst_resm TINFO "ping $(tst_ipaddr):$(tst_ipaddr rhost) ${cnt}/$NS_TIMES" + tst_res TINFO "ping $(tst_ipaddr):$(tst_ipaddr rhost) ${cnt}/$NS_TIMES" tst_ping done tst_ping } -tst_check_cmds ifconfig -test_body - -tst_exit +tst_run diff --git a/testcases/network/stress/multicast/grp-operation/mcast-group-multiple-socket b/testcases/network/stress/multicast/grp-operation/mcast-group-multiple-socket index 84700a5d8..c928bf4a0 100644 --- a/testcases/network/stress/multicast/grp-operation/mcast-group-multiple-socket +++ b/testcases/network/stress/multicast/grp-operation/mcast-group-multiple-socket @@ -1,6 +1,6 @@ #!/bin/sh # Copyright (c) International Business Machines Corp., 2006 -# Copyright (c) 2017 Petr Vorel +# Copyright (c) 2017-2018 Petr Vorel # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as @@ -21,19 +21,21 @@ . mcast-lib.sh -tst_resm TINFO "joining $MCASTNUM_HEAVY IPv$ipver multicast groups on multiple sockets" - do_setup() { # Increase the maximum number of open file descriptors if [ $(ulimit -n) -lt $MCASTNUM_HEAVY ]; then - ulimit -n $MCASTNUM_HEAVY || tst_brkm TCONF \ + ulimit -n $MCASTNUM_HEAVY || tst_brk TCONF \ "Failed to set the maximum number of open file descriptors to $MCASTNUM_HEAVY" fi mcast_setup $MCASTNUM_HEAVY } -do_setup -do_multicast_test_multiple_join $MCASTNUM_HEAVY true -tst_exit +do_test() +{ + tst_res TINFO "joining $MCASTNUM_HEAVY IPv$ipver multicast groups on multiple sockets" + do_multicast_test_multiple_join $MCASTNUM_HEAVY true +} + +tst_run diff --git a/testcases/network/stress/multicast/grp-operation/mcast-group-same-group b/testcases/network/stress/multicast/grp-operation/mcast-group-same-group index 876c395bb..0a0e968a7 100644 --- a/testcases/network/stress/multicast/grp-operation/mcast-group-same-group +++ b/testcases/network/stress/multicast/grp-operation/mcast-group-same-group @@ -1,6 +1,6 @@ #!/bin/sh # Copyright (c) International Business Machines Corp., 2006 -# Copyright (c) 2017 Petr Vorel +# Copyright (c) 2017-2018 Petr Vorel # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as @@ -21,8 +21,15 @@ . mcast-lib.sh -tst_resm TINFO "joining and leaving the same IPv$ipver multicast group on $MCASTNUM_NORMAL sockets in $NS_TIMES times" +do_setup() +{ + mcast_setup $MCASTNUM_NORMAL +} -mcast_setup $MCASTNUM_NORMAL -do_multicast_test_join_leave $MCASTNUM_NORMAL -tst_exit +do_test() +{ + tst_res TINFO "joining and leaving the same IPv$ipver multicast group on $MCASTNUM_NORMAL sockets in $NS_TIMES times" + do_multicast_test_join_leave $MCASTNUM_NORMAL +} + +tst_run diff --git a/testcases/network/stress/multicast/grp-operation/mcast-group-single-socket b/testcases/network/stress/multicast/grp-operation/mcast-group-single-socket index d6b3363db..e7cad75a7 100644 --- a/testcases/network/stress/multicast/grp-operation/mcast-group-single-socket +++ b/testcases/network/stress/multicast/grp-operation/mcast-group-single-socket @@ -1,6 +1,6 @@ #!/bin/sh # Copyright (c) International Business Machines Corp., 2006 -# Copyright (c) 2017 Petr Vorel +# Copyright (c) 2017-2018 Petr Vorel # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as @@ -21,8 +21,15 @@ . mcast-lib.sh -tst_resm TINFO "joining $MCASTNUM_HEAVY IPv$ipver multicast groups on a single socket" +do_setup() +{ + mcast_setup $MCASTNUM_HEAVY +} -mcast_setup $MCASTNUM_HEAVY -do_multicast_test_multiple_join $MCASTNUM_HEAVY -tst_exit +do_test() +{ + tst_res TINFO "joining $MCASTNUM_HEAVY IPv$ipver multicast groups on a single socket" + do_multicast_test_multiple_join $MCASTNUM_HEAVY +} + +tst_run diff --git a/testcases/network/stress/multicast/grp-operation/mcast-group-source-filter b/testcases/network/stress/multicast/grp-operation/mcast-group-source-filter index 34ed143af..d73b5494f 100644 --- a/testcases/network/stress/multicast/grp-operation/mcast-group-source-filter +++ b/testcases/network/stress/multicast/grp-operation/mcast-group-source-filter @@ -1,6 +1,6 @@ #!/bin/sh # Copyright (c) International Business Machines Corp., 2006 -# Copyright (c) 2017 Petr Vorel +# Copyright (c) 2017-2018 Petr Vorel # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as @@ -21,8 +21,15 @@ . mcast-lib.sh -tst_resm TINFO "joining and leaving the same IPv$ipver multicast group with a different source filters on $MCASTNUM_NORMAL sockets in $NS_TIMES times" +do_setup() +{ + mcast_setup $MCASTNUM_NORMAL +} -mcast_setup $MCASTNUM_NORMAL -do_multicast_test_join_leave $MCASTNUM_NORMAL true -tst_exit +do_test() +{ + tst_res TINFO "joining and leaving the same IPv$ipver multicast group with a different source filters on $MCASTNUM_NORMAL sockets in $NS_TIMES times" + do_multicast_test_join_leave $MCASTNUM_NORMAL true +} + +tst_run diff --git a/testcases/network/stress/multicast/grp-operation/mcast-lib.sh b/testcases/network/stress/multicast/grp-operation/mcast-lib.sh index 6cc2922f2..9d137108a 100644 --- a/testcases/network/stress/multicast/grp-operation/mcast-lib.sh +++ b/testcases/network/stress/multicast/grp-operation/mcast-lib.sh @@ -1,6 +1,6 @@ #!/bin/sh # Copyright (c) International Business Machines Corp., 2006 -# Copyright (c) 2017 Petr Vorel +# Copyright (c) 2017-2018 Petr Vorel # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as @@ -19,9 +19,11 @@ # # Setup script for multicast stress tests. -TST_TOTAL=1 +TST_CNT=1 +TST_SETUP="do_setup" TST_CLEANUP="mcast_cleanup" - +TST_TESTFUNC="do_test" +TST_NEEDS_TMPDIR=1 . test_net_stress.sh MCAST_LCMD="ns-mcast_join -f $ipver -I $(tst_iface)" @@ -39,7 +41,7 @@ mcast_setup4() SYSFS_FORCE_IGMP_VERSION=$(sysctl -b net.ipv4.conf.$(tst_iface).force_igmp_version) SYSFS_ALL_FORCE_IGMP_VERSION=$(sysctl -b net.ipv4.conf.all.force_igmp_version) - [ "$igmp_max_memberships" -gt 5459 ] && tst_resm TWARN \ + [ "$igmp_max_memberships" -gt 5459 ] && tst_res TWARN \ "\$1 shouldn't be set higher than 5459 as it's used to set /proc/sys/net/ipv4/igmp_max_memberships" ROD sysctl -qw net.ipv4.igmp_max_memberships=$igmp_max_memberships @@ -67,7 +69,6 @@ mcast_setup() local max="$1" netstress_setup - tst_tmpdir [ "$TST_IPV6" ] && mcast_setup6 || mcast_setup4 $max } @@ -110,7 +111,7 @@ do_multicast_test_multiple_join() # Run a multicast join tool tmpfile=$$ EXPECT_PASS $MCAST_LCMD $param_multi_socket -n $num -p $mprefix \> $tmpfile - tst_resm TINFO "joined $(grep groups $tmpfile)" + tst_res TINFO "joined $(grep groups $tmpfile)" # Send MLD / IGMP General Query from the remote host if [ "$TST_IPV6" ]; then @@ -150,5 +151,5 @@ do_multicast_test_join_leave() wait - tst_resm TPASS "test is finished successfully" + tst_res TPASS "test is finished successfully" } diff --git a/testcases/network/stress/ns-tools/test_net_stress.sh b/testcases/network/stress/ns-tools/test_net_stress.sh index 3cf9e5f05..f57296b5c 100644 --- a/testcases/network/stress/ns-tools/test_net_stress.sh +++ b/testcases/network/stress/ns-tools/test_net_stress.sh @@ -1,7 +1,7 @@ #!/bin/sh # Copyright (c) International Business Machines Corp., 2006 # Copyright (c) 2015-2017 Oracle and/or its affiliates. All Rights Reserved. -# Copyright (c) 2017 Petr Vorel +# Copyright (c) 2017-2018 Petr Vorel # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as @@ -25,6 +25,7 @@ export TCID="${TCID:-$(basename $0)}" +TST_USE_NEW_API=1 . test_net.sh ipver=${TST_IPV6:-4} @@ -124,3 +125,19 @@ make_background_tcp_traffic() netstress -R 3 -g $port > /dev/null 2>&1 & tst_rhost_run -b -c "netstress -l -H $ip -g $port" } + +test_if_ip() +{ + case $1 in + 1) test_body 'if_cmd';; + 2) test_body 'ip_cmd';; + esac +} + +test_rt_ip() +{ + case $1 in + 1) test_body 'rt_cmd';; + 2) test_body 'ip_cmd';; + esac +}