selftests: mlxsw: resource_scale: Allow skipping a test
authorPetr Machata <petrm@nvidia.com>
Thu, 16 Jun 2022 10:42:41 +0000 (13:42 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 17 Jun 2022 09:31:33 +0000 (10:31 +0100)
The scale tests are currently testing two things: that some number of
instances of a given resource can actually be created; and that when an
attempt is made to create more than the supported amount, the failures are
noted and handled gracefully.

Sometimes the scale test depends on more than one resource. In particular,
a following patch will add a RIF counter scale test, which depends on the
number of RIF counters that can be bound, and also on the number of RIFs
that can be created.

When the test is limited by the auxiliary resource and not by the primary
one, there's no point trying to run the overflow test, because it would be
testing exhaustion of the wrong resource.

To support this use case, when the $test_get_target yields 0, skip the test
instead.

Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Amit Cohen <amcohen@nvidia.com>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/drivers/net/mlxsw/spectrum-2/resource_scale.sh
tools/testing/selftests/drivers/net/mlxsw/spectrum/resource_scale.sh

index 6d7814b..afe17b1 100755 (executable)
@@ -36,6 +36,11 @@ for current_test in ${TESTS:-$ALL_TESTS}; do
        for should_fail in 0 1; do
                RET=0
                target=$(${current_test}_get_target "$should_fail")
+               if ((target == 0)); then
+                       log_test_skip "'$current_test' should_fail=$should_fail test"
+                       continue
+               fi
+
                ${current_test}_setup_prepare
                setup_wait $num_netifs
                # Update target in case occupancy of a certain resource changed
index a1bc93b..c0da22c 100755 (executable)
@@ -41,6 +41,10 @@ for current_test in ${TESTS:-$ALL_TESTS}; do
                for should_fail in 0 1; do
                        RET=0
                        target=$(${current_test}_get_target "$should_fail")
+                       if ((target == 0)); then
+                               log_test_skip "'$current_test' [$profile] should_fail=$should_fail test"
+                               continue
+                       fi
                        ${current_test}_setup_prepare
                        setup_wait $num_netifs
                        # Update target in case occupancy of a certain resource