Skip to content

Commit 603fba9

Browse files
lmbborkmann
authored andcommitted
selftests: bpf: Make reuseport test output more legible
Include the name of the mismatching result in human readable format when reporting an error. The new output looks like the following: unexpected result result: [1, 0, 0, 0, 0, 0] expected: [0, 0, 0, 0, 0, 0] mismatch on DROP_ERR_INNER_MAP (bpf_prog_linum:153) check_results:FAIL:382 Signed-off-by: Lorenz Bauer <[email protected]> Signed-off-by: Daniel Borkmann <[email protected]> Reviewed-by: Jakub Sitnicki <[email protected]> Acked-by: Martin KaFai Lau <[email protected]> Acked-by: John Fastabend <[email protected]> Link: https://lore.kernel.org/bpf/[email protected]
1 parent 8bec4f6 commit 603fba9

File tree

1 file changed

+24
-4
lines changed

1 file changed

+24
-4
lines changed

tools/testing/selftests/bpf/prog_tests/select_reuseport.c

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,26 @@ static void check_data(int type, sa_family_t family, const struct cmd *cmd,
316316
expected.len, result.len, get_linum());
317317
}
318318

319+
static const char *result_to_str(enum result res)
320+
{
321+
switch (res) {
322+
case DROP_ERR_INNER_MAP:
323+
return "DROP_ERR_INNER_MAP";
324+
case DROP_ERR_SKB_DATA:
325+
return "DROP_ERR_SKB_DATA";
326+
case DROP_ERR_SK_SELECT_REUSEPORT:
327+
return "DROP_ERR_SK_SELECT_REUSEPORT";
328+
case DROP_MISC:
329+
return "DROP_MISC";
330+
case PASS:
331+
return "PASS";
332+
case PASS_ERR_SK_SELECT_REUSEPORT:
333+
return "PASS_ERR_SK_SELECT_REUSEPORT";
334+
default:
335+
return "UNKNOWN";
336+
}
337+
}
338+
319339
static void check_results(void)
320340
{
321341
__u32 results[NR_RESULTS];
@@ -351,10 +371,10 @@ static void check_results(void)
351371
printf(", %u", expected_results[i]);
352372
printf("]\n");
353373

354-
RET_IF(expected_results[broken] != results[broken],
355-
"unexpected result",
356-
"expected_results[%u] != results[%u] bpf_prog_linum:%ld\n",
357-
broken, broken, get_linum());
374+
printf("mismatch on %s (bpf_prog_linum:%ld)\n", result_to_str(broken),
375+
get_linum());
376+
377+
CHECK_FAIL(true);
358378
}
359379

360380
static int send_data(int type, sa_family_t family, void *data, size_t len,

0 commit comments

Comments
 (0)