Message ID | 20200721145249.72153-1-paolo.pisati@canonical.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | selftests: txtimestamp: tear down setup() 'tc' and 'ip' env on EXIT | expand |
On Tue, Jul 21, 2020 at 10:52 AM Paolo Pisati <paolo.pisati@canonical.com> wrote: > > Add a cleanup() path upon exit, making it possible to run the test twice in a > row: > > $ sudo bash -x ./txtimestamp.sh > + set -e > ++ ip netns identify > + [[ '' == \r\o\o\t ]] > + main > + [[ 0 -eq 0 ]] > + run_test_all > + setup > + tc qdisc add dev lo root netem delay 1ms > Error: Exclusivity flag on, cannot modify. > > Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> The test should already clean up after itself, by being run inside a network namespace. That is a more robust method to ensure that all state is reset. The issue here is that the else branch is taken in if [[ "$(ip netns identify)" == "root" ]]; then ./in_netns.sh $0 $@ else main $@ fi because the ip netns identify usually returns an empty string, not "root". If we fix that, no need to add additional cleanup.
diff --git a/tools/testing/selftests/net/txtimestamp.sh b/tools/testing/selftests/net/txtimestamp.sh index eea6f5193693..77f29cabff87 100755 --- a/tools/testing/selftests/net/txtimestamp.sh +++ b/tools/testing/selftests/net/txtimestamp.sh @@ -23,6 +23,14 @@ setup() { action mirred egress redirect dev ifb_netem0 } +cleanup() { + tc filter del dev lo parent ffff: + tc qdisc del dev lo handle ffff: ingress + tc qdisc del dev ifb_netem0 root + ip link del ifb_netem0 + tc qdisc del dev lo root +} + run_test_v4v6() { # SND will be delayed 1000us # ACK will be delayed 6000us: 1 + 2 ms round-trip @@ -75,6 +83,8 @@ main() { fi } +trap cleanup EXIT + if [[ "$(ip netns identify)" == "root" ]]; then ./in_netns.sh $0 $@ else
Add a cleanup() path upon exit, making it possible to run the test twice in a row: $ sudo bash -x ./txtimestamp.sh + set -e ++ ip netns identify + [[ '' == \r\o\o\t ]] + main + [[ 0 -eq 0 ]] + run_test_all + setup + tc qdisc add dev lo root netem delay 1ms Error: Exclusivity flag on, cannot modify. Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> --- tools/testing/selftests/net/txtimestamp.sh | 10 ++++++++++ 1 file changed, 10 insertions(+)