]> git.proxmox.com Git - mirror_iproute2.git/commitdiff
tests: Add few 'ip link' related tests
authorVadim Kochan <vadim4j@gmail.com>
Thu, 15 Jan 2015 16:59:22 +0000 (18:59 +0200)
committerStephen Hemminger <shemming@brocade.com>
Thu, 5 Feb 2015 18:16:25 +0000 (10:16 -0800)
Added two tests which checks the following fixed issues:

    1) Bug when not possible add new virtual interface via:

        $ ip link add dev XXX type

       It was fixed a few releases ago.

    2) Crash on older kernels when VF rate info does not exist:

        $ ip link show

       Used dump file from William Dauchy <william@gandi.net>:
           testsuite/tests/ip/link/dev_wo_vf_rate.nl

       So 'ip link show' replaced by 'ip -d monitor file ...' which does
       the same thing.

Also added new func in testsuite/lib/generic.sh to gen new random dev name.

Added 'clean' dependency on running all tests.

Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
testsuite/Makefile
testsuite/lib/generic.sh
testsuite/tests/ip/link/dev_wo_vf_rate.nl [new file with mode: 0644]
testsuite/tests/ip/link/new_link.t [new file with mode: 0755]
testsuite/tests/ip/link/show_dev_wo_vf_rate.t [new file with mode: 0755]

index 2ba954737c05d649dea5d11dca9e00521b90925b..a2c8a2d9c187738c5be7d3bc15c3c06d59516471 100644 (file)
@@ -31,12 +31,13 @@ listtests:
 alltests: $(TESTS)
 
 clean:
+       @echo "Removing $(RESULTS_DIR) dir ..."
        @rm -rf $(RESULTS_DIR)
 
 distclean: clean
        echo "Entering iproute2" && cd iproute2 && $(MAKE) distclean && cd ..;
 
-$(TESTS):
+$(TESTS): clean
        @mkdir -p $(RESULTS_DIR)
        
        @for d in $(TESTS_DIR); do \
index 8f76e492d4a80d7ddfb4611ef25c9e68a769c93c..3473cc1340431c434ce375fbcbe35984abf3c10f 100644 (file)
@@ -62,8 +62,9 @@ ts_ip()
        TMP_OUT=`mktemp /tmp/tc_testsuite.XXXXXX` || exit
 
        $IP $@ 2> $TMP_ERR > $TMP_OUT
+        RET=$?
 
-       if [ -s $TMP_ERR ]; then
+       if [ -s $TMP_ERR ] || [ "$RET" != "0" ]; then
                ts_err "${SCRIPT}: ${DESC} failed:"
                ts_err "command: $IP $@"
                ts_err "stderr output:"
@@ -91,3 +92,8 @@ ts_qdisc_available()
                return 1;
        fi
 }
+
+rand_dev()
+{
+    echo "dev-$(tr -dc "[:alpha:]" < /dev/urandom | head -c 6)"
+}
diff --git a/testsuite/tests/ip/link/dev_wo_vf_rate.nl b/testsuite/tests/ip/link/dev_wo_vf_rate.nl
new file mode 100644 (file)
index 0000000..40fa87f
Binary files /dev/null and b/testsuite/tests/ip/link/dev_wo_vf_rate.nl differ
diff --git a/testsuite/tests/ip/link/new_link.t b/testsuite/tests/ip/link/new_link.t
new file mode 100755 (executable)
index 0000000..549ff25
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+source lib/generic.sh
+
+ts_log "[Testing add/del virtual links]"
+
+NEW_DEV="$(rand_dev)"
+
+ts_ip "$0" "Add $NEW_DEV dummy interface"  link add dev $NEW_DEV type dummy
+ts_ip "$0" "Show $NEW_DEV dummy interface" link show dev $NEW_DEV
+ts_ip "$0" "Del $NEW_DEV dummy interface"  link del dev $NEW_DEV
diff --git a/testsuite/tests/ip/link/show_dev_wo_vf_rate.t b/testsuite/tests/ip/link/show_dev_wo_vf_rate.t
new file mode 100755 (executable)
index 0000000..a600ba6
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+source lib/generic.sh
+
+NL_FILE="tests/ip/link/dev_wo_vf_rate.nl"
+ts_ip "$0" "Show VF devices w/o VF rate info" -d monitor file $NL_FILE