Skip to content

Commit

Permalink
selftests: mlxsw: bail_on_lldpad before installing the cleanup trap
Browse files Browse the repository at this point in the history
A number of mlxsw-specific QoS tests use manual QoS DCB management. As
such, they need to make sure lldpad is not running, because it would
override the configuration the test has applied using other tools. To that
end, these selftests invoke the bail_on_lldpad() helper, which terminates
the selftest if th lldpad is running.

Some of these tests however first install the bash exit trap, which invokes
a cleanup() at the test exit. If bail_on_lldpad() has terminated the script
even before the setup part was run, the cleanup part will be very confused.

Therefore make sure bail_on_lldpad() is invoked before the cleanup is
registered.

While there are still edge cases where the user terminates the script
before the setup was fully done, this takes care of a common situation
where the cleanup would be invoked in an inconsistent state.

Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
pmachata authored and davem330 committed May 4, 2022
1 parent 39e85fe commit 18d2c71
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 10 deletions.
4 changes: 2 additions & 2 deletions tools/testing/selftests/drivers/net/mlxsw/qos_headroom.sh
Original file line number Diff line number Diff line change
Expand Up @@ -371,9 +371,9 @@ test_tc_int_buf()
tc qdisc delete dev $swp root
}

trap cleanup EXIT

bail_on_lldpad

trap cleanup EXIT
setup_wait
tests_run

Expand Down
4 changes: 2 additions & 2 deletions tools/testing/selftests/drivers/net/mlxsw/qos_pfc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -393,9 +393,9 @@ test_qos_pfc()
log_test "PFC"
}

trap cleanup EXIT

bail_on_lldpad

trap cleanup EXIT
setup_prepare
setup_wait
tests_run
Expand Down
5 changes: 2 additions & 3 deletions tools/testing/selftests/drivers/net/mlxsw/sch_red_ets.sh
Original file line number Diff line number Diff line change
Expand Up @@ -166,12 +166,11 @@ ecn_mirror_test()
uninstall_qdisc
}

trap cleanup EXIT
bail_on_lldpad

trap cleanup EXIT
setup_prepare
setup_wait

bail_on_lldpad
tests_run

exit $EXIT_STATUS
5 changes: 2 additions & 3 deletions tools/testing/selftests/drivers/net/mlxsw/sch_red_root.sh
Original file line number Diff line number Diff line change
Expand Up @@ -73,12 +73,11 @@ red_mirror_test()
uninstall_qdisc
}

trap cleanup EXIT
bail_on_lldpad

trap cleanup EXIT
setup_prepare
setup_wait

bail_on_lldpad
tests_run

exit $EXIT_STATUS

0 comments on commit 18d2c71

Please sign in to comment.