Re: [PATCH bpf-next] selftests/bpf: Convert CHECK macros to ASSERT_* macros in bpf_iter

From: Yonghong Song
Date: Wed Oct 25 2023 - 00:27:39 EST



On 10/24/23 3:43 PM, Yuran Pereira wrote:
As it was pointed out by Yonghong Song [1], in the bpf selftests the use
of the ASSERT_* series of macros is preferred over the CHECK macro.
This patch replaces all CHECK calls in bpf_iter with the appropriate
ASSERT_* macros.

[1] https://lore.kernel.org/lkml/0a142924-633c-44e6-9a92-2dc019656bf2@xxxxxxxxx

Suggested-by: Yonghong Song <yonghong.song@xxxxxxxxx>
Signed-off-by: Yuran Pereira <yuran.pereira@xxxxxxxxxxx>
---
.../selftests/bpf/prog_tests/bpf_iter.c | 80 +++++++++----------
1 file changed, 39 insertions(+), 41 deletions(-)

diff --git a/tools/testing/selftests/bpf/prog_tests/bpf_iter.c b/tools/testing/selftests/bpf/prog_tests/bpf_iter.c
index 1f02168103dd..526ac4e741ee 100644
--- a/tools/testing/selftests/bpf/prog_tests/bpf_iter.c
+++ b/tools/testing/selftests/bpf/prog_tests/bpf_iter.c
@@ -64,7 +64,7 @@ static void do_dummy_read_opts(struct bpf_program *prog, struct bpf_iter_attach_
/* not check contents, but ensure read() ends without error */
while ((len = read(iter_fd, buf, sizeof(buf))) > 0)
;
- CHECK(len < 0, "read", "read failed: %s\n", strerror(errno));
+ ASSERT_GE(len, 0, "read");
close(iter_fd);


After converting CHECK to ASSERT_*, 'static int duration' is not needed any more. Otherwise,
you will hit the following compilation error with latest clang:

/home/yhs/work/bpf-next/tools/testing/selftests/bpf/prog_tests/bpf_iter.c:37:12: error: unused variable 'duration' [-Werror,-Wunused-variable]
37 | static int duration;
| ^~~~~~~~
1 error generated.

Please remove 'static int duration'.

[...]