selftests: add basic netdevsim devlink flash testing
authorJiri Pirko <jiri@mellanox.com>
Tue, 4 Jun 2019 13:40:44 +0000 (15:40 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 4 Jun 2019 21:21:40 +0000 (14:21 -0700)
Utilizes the devlink flash code.

Suggested-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/drivers/net/netdevsim/devlink.sh [new file with mode: 0755]

diff --git a/tools/testing/selftests/drivers/net/netdevsim/devlink.sh b/tools/testing/selftests/drivers/net/netdevsim/devlink.sh
new file mode 100755 (executable)
index 0000000..9d8baf5
--- /dev/null
@@ -0,0 +1,53 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0
+
+lib_dir=$(dirname $0)/../../../net/forwarding
+
+ALL_TESTS="fw_flash_test"
+NUM_NETIFS=0
+source $lib_dir/lib.sh
+
+BUS_ADDR=10
+PORT_COUNT=4
+DEV_NAME=netdevsim$BUS_ADDR
+SYSFS_NET_DIR=/sys/bus/netdevsim/devices/$DEV_NAME/net/
+DEBUGFS_DIR=/sys/kernel/debug/netdevsim/$DEV_NAME/
+DL_HANDLE=netdevsim/$DEV_NAME
+
+fw_flash_test()
+{
+       RET=0
+
+       devlink dev flash $DL_HANDLE file dummy
+       check_err $? "Failed to flash with status updates on"
+
+       echo "n"> $DEBUGFS_DIR/fw_update_status
+       check_err $? "Failed to disable status updates"
+
+       devlink dev flash $DL_HANDLE file dummy
+       check_err $? "Failed to flash with status updates off"
+
+       log_test "fw flash test"
+}
+
+setup_prepare()
+{
+       modprobe netdevsim
+       echo "$BUS_ADDR $PORT_COUNT" > /sys/bus/netdevsim/new_device
+       while [ ! -d $SYSFS_NET_DIR ] ; do :; done
+}
+
+cleanup()
+{
+       pre_cleanup
+       echo "$BUS_ADDR" > /sys/bus/netdevsim/del_device
+       modprobe -r netdevsim
+}
+
+trap cleanup EXIT
+
+setup_prepare
+
+tests_run
+
+exit $EXIT_STATUS