aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tools
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@kernel.org>2024-09-24 13:07:31 +0200
committerAlexei Starovoitov <ast@kernel.org>2024-10-03 17:47:35 -0700
commit58dbb36930183aea41024d9c0b0ed97629473e20 (patch)
tree81118ca0763c3099023ebbe04b5689b8b4fab78f /tools
parentselftests/bpf: Fix uprobe consumer test (diff)
downloadwireguard-linux-58dbb36930183aea41024d9c0b0ed97629473e20.tar.xz
wireguard-linux-58dbb36930183aea41024d9c0b0ed97629473e20.zip
selftests/bpf: Bail out quickly from failing consumer test
Let's bail out from consumer test after we hit first fail, so we don't pollute the log with many instances with possibly the same error. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools')
-rw-r--r--tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c b/tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c
index c1ac813ff9ba..2c39902b8a09 100644
--- a/tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c
+++ b/tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c
@@ -836,10 +836,10 @@ uprobe_consumer_test(struct uprobe_multi_consumers *skel,
return 0;
}
-static void consumer_test(struct uprobe_multi_consumers *skel,
- unsigned long before, unsigned long after)
+static int consumer_test(struct uprobe_multi_consumers *skel,
+ unsigned long before, unsigned long after)
{
- int err, idx;
+ int err, idx, ret = -1;
printf("consumer_test before %lu after %lu\n", before, after);
@@ -881,13 +881,17 @@ static void consumer_test(struct uprobe_multi_consumers *skel,
fmt = "idx 2/3: uretprobe";
}
- ASSERT_EQ(skel->bss->uprobe_result[idx], val, fmt);
+ if (!ASSERT_EQ(skel->bss->uprobe_result[idx], val, fmt))
+ goto cleanup;
skel->bss->uprobe_result[idx] = 0;
}
+ ret = 0;
+
cleanup:
for (idx = 0; idx < 4; idx++)
uprobe_detach(skel, idx);
+ return ret;
}
static void test_consumers(void)
@@ -939,9 +943,11 @@ static void test_consumers(void)
for (before = 0; before < 16; before++) {
for (after = 0; after < 16; after++)
- consumer_test(skel, before, after);
+ if (consumer_test(skel, before, after))
+ goto out;
}
+out:
uprobe_multi_consumers__destroy(skel);
}