Hi Alexey, Here are some humble opinion, please just take it as reference.
On Tue, Aug 05, 2014 at 05:34:40PM +0400, Alexey Kodanev wrote: > * Move networktests.sh and networkstress.sh parameters to network.sh. > Both network scripts have the same settings (e.g. RHOST), and > some of the stress test parameters can be used by other net-tests, > such as LHOST_INTERFACE and RHOST_INTERFACE variables. > * Add network features group to networkstress.sh. > * Add network features tests to 'whole' group. > > Signed-off-by: Alexey Kodanev <alexey.koda...@oracle.com> > --- > v2: Add net features tests to 'whole' group > tst_rhost_hwaddr(): run 'awk' on local machine > > runtest/network_stress.features | 9 +++++ > runtest/network_stress.tcp | 2 - > runtest/network_stress.udp | 4 -- > runtest/network_stress.whole | 10 ++++++ > testcases/lib/test_net.sh | 11 +++++++ > testscripts/network.sh | 63 > +++++++++++++++++++++++++++++++++++++++ > testscripts/networkstress.sh | 35 ++++------------------ > testscripts/networktests.sh | 10 +----- > 8 files changed, 100 insertions(+), 44 deletions(-) > create mode 100644 runtest/network_stress.features > create mode 100755 testscripts/network.sh > > diff --git a/runtest/network_stress.features b/runtest/network_stress.features > new file mode 100644 > index 0000000..14fa2d9 > --- /dev/null > +++ b/runtest/network_stress.features > @@ -0,0 +1,9 @@ > +# > +# Stress tests for various network features > +# > + > +tcp_fastopen tcp_fastopen_run.sh > + > +vxlan01 vxlan01.sh > +vxlan02 vxlan02.sh > +vxlan03 vxlan03.sh > diff --git a/runtest/network_stress.tcp b/runtest/network_stress.tcp > index 9795d2a..7206b3a 100644 > --- a/runtest/network_stress.tcp > +++ b/runtest/network_stress.tcp > @@ -331,5 +331,3 @@ tcp6-multi-diffnic11 tcp6-multi-diffnic11 > tcp6-multi-diffnic12 tcp6-multi-diffnic12 > tcp6-multi-diffnic13 tcp6-multi-diffnic13 > tcp6-multi-diffnic14 tcp6-multi-diffnic14 > - > -tcp_fastopen tcp_fastopen_run.sh > diff --git a/runtest/network_stress.udp b/runtest/network_stress.udp > index 2f62c14..bfe9d85 100644 > --- a/runtest/network_stress.udp > +++ b/runtest/network_stress.udp > @@ -65,7 +65,3 @@ udp6-multi-diffnic04 udp6-multi-diffnic04 > udp6-multi-diffnic05 udp6-multi-diffnic05 > udp6-multi-diffnic06 udp6-multi-diffnic06 > udp6-multi-diffnic07 udp6-multi-diffnic07 > - > -vxlan01 vxlan01.sh > -vxlan02 vxlan02.sh > -vxlan03 vxlan03.sh > diff --git a/runtest/network_stress.whole b/runtest/network_stress.whole > index 35c219f..7b0dfa3 100644 > --- a/runtest/network_stress.whole > +++ b/runtest/network_stress.whole > @@ -551,3 +551,13 @@ ftp6-download-stress ftp6-download-stress > > ftp4-upload-stress ftp4-upload-stress > ftp6-upload-stress ftp6-upload-stress > + > +# > +# Stress tests for various network features > +# > + > +tcp_fastopen tcp_fastopen_run.sh > + > +vxlan01 vxlan01.sh > +vxlan02 vxlan02.sh > +vxlan03 vxlan03.sh > diff --git a/testcases/lib/test_net.sh b/testcases/lib/test_net.sh > index 51b3e38..f58bf65 100644 > --- a/testcases/lib/test_net.sh > +++ b/testcases/lib/test_net.sh > @@ -75,3 +75,14 @@ tst_rhost_run() > > return $ret > } > + > +tst_lhost_hwaddr() > +{ > + echo $(ip link show $LHOST_INTERFACE | awk 'NR==2 { print $2 }') Hi, what's the difference to run like tst_lhost_hwaddr() { ip link show $LHOST_INTERFACE | awk 'NR==2 { print $2 }' } > +} > + > +tst_rhost_hwaddr() > +{ > + echo $(tst_rhost_run -s -c "ip link show $RHOST_INTERFACE" | \ > + awk 'NR==2 { print $2 }') > +} > diff --git a/testscripts/network.sh b/testscripts/network.sh > new file mode 100755 > index 0000000..b322713 > --- /dev/null > +++ b/testscripts/network.sh > @@ -0,0 +1,63 @@ > +#!/bin/sh > + > +# Network Test Parameters > +# > +# ---***** THESE MUST BE SET FOR CORRECT OPERATION *****--- > + > +export RHOST= How about export the following global variables like export RHOST=${RHOST:-""} So we can export what we want before run network.sh and no need to modify it everytime. In our lab, we will git clone the latest ltp repo before testing, so I really do not want to change the script, even with sed... If any one want to use a static value, he can still add it in "". > +export PASSWD= > + > +# ---***************************************************--- > +# More information about network parameters can be found > +# in the following document: testcases/network/stress/README > + > +LTP_RSH= > + > +# Set names for test interfaces > +LHOST_INTERFACE= > +RHOST_INTERFACE= I would like to use LHOST_IFACE or LOCAL_IFACE to make it shorter, just personal habit :) > + > +# Set first three octets of the network address > +IPV4_NETWORK= > +# Set local host last octet > +LHOST_IPV4_HOST= > +# Set remote host last octet > +RHOST_IPV4_HOST= > +# Set the reverse of IPV4_NETWORK > +IPV4_NETWORK_REVERSE= > +# Set firt three octets of the network address > +IPV6_NETWORK= > +# Set local host last octet > +LHOST_IPV6_HOST= > +# Set remote host last octet > +RHOST_IPV6_HOST= > + > +export HTTP_DOWNLOAD_DIR= > +export FTP_DOWNLOAD_DIR= > +export FTP_UPLOAD_DIR= > +export FTP_UPLOAD_URLDIR= > + > +# Set default parameters > +export LTP_RSH=${LTP_RSH:-"rsh -n"} > +export LHOST_INTERFACE=${LHOST_INTERFACE:-"eth0"} Ah, see you use LHOST_INTERFACE=${LHOST_INTERFACE:-"eth0"} here, but since you have set LHOST_INTERFACE to NULL before, then LHOST_INTERFACE will absolutely eth0 here expect the tester have set value before. Then how about remove the previous LHOST_INTERFACE definition and let tester modify the default interface here. > +export RHOST_INTERFACE=${RHOST_INTERFACE:-"eth0"} > +export IPV4_NETWORK=${IPV4_NETWORK:-"10.0.0"} > +export IPV6_NETWORK=${IPV6_NETWORK:-"fd00:1:1:1"} > +export LHOST_IPV4_HOST=${LHOST_IPV4_HOST:-"2"} > +export RHOST_IPV4_HOST=${RHOST_IPV4_HOST:-"1"} > +export LHOST_IPV6_HOST=${LHOST_IPV6_HOST:-":2"} > +export RHOST_IPV6_HOST=${RHOST_IPV6_HOST:-":1"} > +export IPV4_NETWORK_REVERSE=${IPV4_NETWORK_REVERSE:-"0.0.10"} > + > +TST_TOTAL=1 > +TCID="network_settings" > + > +. test_net.sh > + > +export LHOST_HWADDRS=$(tst_lhost_hwaddr) Thers are also some network tests need to use two interfaces. I have been suggested to use INTERFACE="eth0|eth1" and use LHOST_HWADDRS=`ifconfig | grep -P ${INTERFACE} | grep HWaddr |awk '{print $5}'` to get HWADDRESS, just a remind. > +export RHOST_HWADDRS=$(tst_rhost_hwaddr) > + > +export TMPDIR=/tmp/netpan-$$ > +mkdir -p $TMPDIR > +CMDFILE=${TMPDIR}/network.tests > +VERBOSE="no" > diff --git a/testscripts/networkstress.sh b/testscripts/networkstress.sh > index b40af72..47f365d 100755 > --- a/testscripts/networkstress.sh > +++ b/testscripts/networkstress.sh > @@ -12,32 +12,10 @@ if [ $? -eq 0 ]; then > export LTPROOT=${PWD} > fi > > -export TMPDIR=/tmp/netst-$$ > -mkdir $TMPDIR > -VERBOSE="no" > -INTERFACE="eth0" > - > -#=========================================================================== > -# Network parameters > -export RHOST= > -export RHOST_HWADDRS= > -export HTTP_DOWNLOAD_DIR= > -export FTP_DOWNLOAD_DIR= > -export FTP_UPLOAD_DIR= > -export FTP_UPLOAD_URLDIR= > - > -# Set firt three octets of the network address, by default 10.0.0 > -export IPV4_NETWORK= > -# Set local host last octet, by default 2 > -export LHOST_IPV4_HOST= > -# Set remote host last octet, by default 1 > -export RHOST_IPV4_HOST= > -# Set the reverse of IPV4_NETWORK, by default 0.0.10 > -export IPV4_NETWORK_REVERSE= > +. $LTPROOT/testscripts/network.sh $0 > > #=========================================================================== > # Default Test Settings > -# export LTP_RSH=rsh > # export NS_DURATION=3600 # 1 hour > # export NS_TIMES=10000 > # export CONNECTION_TOTAL=4000 > @@ -67,6 +45,7 @@ usage () { > echo " -R|r: Stress test for routing table" > echo " -B|b: Stress Broken IP packets" > echo " -M|m: Multicast stress tests" > + echo " -F|f: Stress test for network features" > echo " -S|s: Run selected tests" > echo " -W|w: Run whole network stress tests" > echo " -D|d: Test duration (default ${NS_DURATION} sec)" > @@ -77,7 +56,7 @@ usage () { > exit 1 > } > > -while getopts AaEeTtIiUuRrMmSsWwBbVvN:n:D:d: OPTION > +while getopts AaEeTtIiUuRrMmFfSsWwBbVvN:n:D:d: OPTION Where is -N|n: Select the network interface (default: $INTERFACE), I saw there is still N:n:, but I can't find it in your usage or OPTARGS Also, should we remove this parameter or add it in both networktest.sh and networkstress.sh? Also for the parameters, I think use two parameters for one option is waste. Like INTERFACE, -I have been taken by icmp testing in networkstress.sh, and -N have been taken by nfs test in networktest.sh which is use by networkstress.sh So how about use lowercase for test cases and uppercase for environment variables. > do > case $OPTION in > A|a) TEST_CASE="network_stress.appl";; > @@ -88,6 +67,7 @@ do > U|u) TEST_CASE="network_stress.udp";; > R|r) TEST_CASE="network_stress.route";; > M|m) TEST_CASE="network_stress.multicast";; > + F|f) TEST_CASE="network_stress.features";; > S|s) TEST_CASE="network_stress.selected";; > W|w) TEST_CASE="network_stress.whole";; > V|v) VERBOSE="yes";; > @@ -102,8 +82,6 @@ if [ -z ${TEST_CASE} ]; then > usage > fi > > -export LHOST_HWADDRS=`ifconfig | grep ${INTERFACE} | grep HWaddr |awk > '{print $5}'` > - > if [ -z ${RHOST} ]; then > ## Just a silly check > echo "Error: pay attention to configure" > @@ -119,9 +97,8 @@ export PATH="${PATH}:${LTPROOT}/testcases/bin" > > if [ ${VERBOSE} = "yes" ]; then > echo "Network parameters:" > - echo " - ${INTERFACE} local interface (MAC address: ${LHOST_HWADDRS})" > - echo " - Remote IP address: ${RHOST}" > - echo " - Remote MAC address: ${RHOST_HWADDRS}" > + echo " - ${LHOST_INTERFACE} local interface (MAC address: > ${LHOST_HWADDRS})" > + echo " - ${RHOST_INTERFACE} remote interface (MAC address: > ${RHOST_HWADDRS})" > > cat $TMPDIR/network_stress.tests > ${LTPROOT}/ver_linux > diff --git a/testscripts/networktests.sh b/testscripts/networktests.sh > index b136749..507b7e3 100755 > --- a/testscripts/networktests.sh > +++ b/testscripts/networktests.sh > @@ -1,11 +1,6 @@ > #!/bin/sh > # This will run all the network tests, with the status logged in > /tmp/netpan.log > > -# ---***** THESE MUST BE SET FOR CORRECT OPERATION *****--- > -export RHOST= > -export PASSWD= > -# ---***************************************************--- > - > cd `dirname $0` > export LTPROOT=${PWD} > echo $LTPROOT | grep testscripts > /dev/null 2>&1 > @@ -14,10 +9,7 @@ if [ $? -eq 0 ]; then > export LTPROOT=${PWD} > fi > > -export TMPDIR=/tmp/netpan-$$ > -mkdir -p $TMPDIR > -CMDFILE=${TMPDIR}/network.tests > -VERBOSE="no" > +. $LTPROOT/testscripts/network.sh $0 > > # For bitwise operation to determine which testsets run > CMD_IPV6=1 # 0x0001 > -- > 1.7.1 > > > ------------------------------------------------------------------------------ > Infragistics Professional > Build stunning WinForms apps today! > Reboot your WinForms applications with our WinForms controls. > Build a bridge from your legacy apps to the future. > http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk > _______________________________________________ > Ltp-list mailing list > Ltp-list@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/ltp-list -- Thanks & Best Regards Hangbin Liu <liuhang...@gmail.com> ------------------------------------------------------------------------------ Want excitement? Manually upgrade your production database. When you want reliability, choose Perforce Perforce version control. Predictably reliable. http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list