OSDN Git Service

selftest: net: add alternative names test
authorJiri Pirko <jiri@mellanox.com>
Fri, 8 Nov 2019 14:26:33 +0000 (15:26 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 8 Nov 2019 22:10:27 +0000 (14:10 -0800)
Add a simple test for recently added netdevice alternative names.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/net/altnames.sh [new file with mode: 0755]

diff --git a/tools/testing/selftests/net/altnames.sh b/tools/testing/selftests/net/altnames.sh
new file mode 100755 (executable)
index 0000000..4254ddc
--- /dev/null
@@ -0,0 +1,75 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0
+
+lib_dir=$(dirname $0)/forwarding
+
+ALL_TESTS="altnames_test"
+NUM_NETIFS=0
+source $lib_dir/lib.sh
+
+DUMMY_DEV=dummytest
+SHORT_NAME=shortname
+LONG_NAME=someveryveryveryveryveryverylongname
+
+altnames_test()
+{
+       RET=0
+       local output
+       local name
+
+       ip link property add $DUMMY_DEV altname $SHORT_NAME
+       check_err $? "Failed to add short alternative name"
+
+       output=$(ip -j -p link show $SHORT_NAME)
+       check_err $? "Failed to do link show with short alternative name"
+
+       name=$(echo $output | jq -e -r ".[0].altnames[0]")
+       check_err $? "Failed to get short alternative name from link show JSON"
+
+       [ "$name" == "$SHORT_NAME" ]
+       check_err $? "Got unexpected short alternative name from link show JSON"
+
+       ip -j -p link show $DUMMY_DEV &>/dev/null
+       check_err $? "Failed to do link show with original name"
+
+       ip link property add $DUMMY_DEV altname $LONG_NAME
+       check_err $? "Failed to add long alternative name"
+
+       output=$(ip -j -p link show $LONG_NAME)
+       check_err $? "Failed to do link show with long alternative name"
+
+       name=$(echo $output | jq -e -r ".[0].altnames[1]")
+       check_err $? "Failed to get long alternative name from link show JSON"
+
+       [ "$name" == "$LONG_NAME" ]
+       check_err $? "Got unexpected long alternative name from link show JSON"
+
+       ip link property del $DUMMY_DEV altname $SHORT_NAME
+       check_err $? "Failed to add short alternative name"
+
+       ip -j -p link show $SHORT_NAME &>/dev/null
+       check_fail $? "Unexpected success while trying to do link show with deleted short alternative name"
+
+       # long name is left there on purpose to be removed alongside the device
+
+       log_test "altnames test"
+}
+
+setup_prepare()
+{
+       ip link add name $DUMMY_DEV type dummy
+}
+
+cleanup()
+{
+       pre_cleanup
+       ip link del name $DUMMY_DEV
+}
+
+trap cleanup EXIT
+
+setup_prepare
+
+tests_run
+
+exit $EXIT_STATUS