From: Vadim Kochan Date: Thu, 15 Jan 2015 16:59:22 +0000 (+0200) Subject: tests: Add few 'ip link' related tests X-Git-Tag: v3.19.0~11 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4cec9db0b4085c1b2e8072bac2d07843a9285ac1;p=thirdparty%2Fiproute2.git tests: Add few 'ip link' related tests 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 : 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 --- diff --git a/testsuite/Makefile b/testsuite/Makefile index 2ba954737..a2c8a2d9c 100644 --- a/testsuite/Makefile +++ b/testsuite/Makefile @@ -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 \ diff --git a/testsuite/lib/generic.sh b/testsuite/lib/generic.sh index 8f76e492d..3473cc134 100644 --- a/testsuite/lib/generic.sh +++ b/testsuite/lib/generic.sh @@ -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 index 000000000..40fa87ff1 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 index 000000000..549ff2561 --- /dev/null +++ b/testsuite/tests/ip/link/new_link.t @@ -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 index 000000000..a600ba65c --- /dev/null +++ b/testsuite/tests/ip/link/show_dev_wo_vf_rate.t @@ -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