selftests: mlxsw: Reduce test run time
authorIdo Schimmel <idosch@nvidia.com>
Sun, 24 Oct 2021 07:19:11 +0000 (10:19 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 25 Oct 2021 13:10:11 +0000 (14:10 +0100)
Instead of iterating over all the available trap policers, only perform
the tests with three policers: The first, the last and the one in the
middle of the range. On a Spectrum-3 system, this reduces the run time
from almost an hour to a few minutes.

Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/drivers/net/mlxsw/devlink_trap_policer.sh
tools/testing/selftests/net/forwarding/devlink_lib.sh

index 508a702..0bd5ffc 100755 (executable)
@@ -272,13 +272,17 @@ __rate_test()
 
 rate_test()
 {
-       local id
+       local last_policer=$(devlink -j -p trap policer show |
+                            jq '[.[]["'$DEVLINK_DEV'"][].policer] | max')
 
-       for id in $(devlink_trap_policer_ids_get); do
-               echo
-               log_info "Running rate test for policer $id"
-               __rate_test $id
-       done
+       log_info "Running rate test for policer 1"
+       __rate_test 1
+
+       log_info "Running rate test for policer $((last_policer / 2))"
+       __rate_test $((last_policer / 2))
+
+       log_info "Running rate test for policer $last_policer"
+       __rate_test $last_policer
 }
 
 __burst_test()
@@ -342,13 +346,17 @@ __burst_test()
 
 burst_test()
 {
-       local id
+       local last_policer=$(devlink -j -p trap policer show |
+                            jq '[.[]["'$DEVLINK_DEV'"][].policer] | max')
+
+       log_info "Running burst test for policer 1"
+       __burst_test 1
+
+       log_info "Running burst test for policer $((last_policer / 2))"
+       __burst_test $((last_policer / 2))
 
-       for id in $(devlink_trap_policer_ids_get); do
-               echo
-               log_info "Running burst size test for policer $id"
-               __burst_test $id
-       done
+       log_info "Running burst test for policer $last_policer"
+       __burst_test $last_policer
 }
 
 trap cleanup EXIT
index 2c14a86..de9944d 100644 (file)
@@ -563,12 +563,6 @@ devlink_trap_group_policer_get()
                | jq '.[][][]["policer"]'
 }
 
-devlink_trap_policer_ids_get()
-{
-       devlink -j -p trap policer show \
-               | jq '.[]["'$DEVLINK_DEV'"][]["policer"]'
-}
-
 devlink_port_by_netdev()
 {
        local if_name=$1