This helps with determinism b/c individual setup/teardown prevents
leaking state between different subtests.

Signed-off-by: Daniel Xu <d...@dxuuu.xyz>
---
 tools/testing/selftests/bpf/prog_tests/test_tunnel.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/tools/testing/selftests/bpf/prog_tests/test_tunnel.c 
b/tools/testing/selftests/bpf/prog_tests/test_tunnel.c
index d149ab98798d..b57d48219d0b 100644
--- a/tools/testing/selftests/bpf/prog_tests/test_tunnel.c
+++ b/tools/testing/selftests/bpf/prog_tests/test_tunnel.c
@@ -535,23 +535,20 @@ static void test_ipip_tunnel(enum ipip_encap encap)
 #define RUN_TEST(name, ...)                                            \
        ({                                                              \
                if (test__start_subtest(#name)) {                       \
+                       config_device();                                \
                        test_ ## name(__VA_ARGS__);                     \
+                       cleanup();                                      \
                }                                                       \
        })
 
 static void *test_tunnel_run_tests(void *arg)
 {
-       cleanup();
-       config_device();
-
        RUN_TEST(vxlan_tunnel);
        RUN_TEST(ip6vxlan_tunnel);
        RUN_TEST(ipip_tunnel, NONE);
        RUN_TEST(ipip_tunnel, FOU);
        RUN_TEST(ipip_tunnel, GUE);
 
-       cleanup();
-
        return NULL;
 }
 
-- 
2.42.1


Reply via email to