bpf/tests: Enhance output on error and fix typos
authorHelge Deller <deller@gmx.de>
Thu, 17 Aug 2023 22:02:40 +0000 (00:02 +0200)
committerDaniel Borkmann <daniel@iogearbox.net>
Fri, 18 Aug 2023 15:08:42 +0000 (17:08 +0200)
If a testcase returns a wrong (unexpected) value, print the expected and
returned value in hex notation in addition to the decimal notation.

This is very useful in tests which bit-shift hex values left or right and
helped me a lot while developing the JIT compiler for the hppa architecture.

Additionally fix two typos: dowrd -> dword, tall calls -> tail calls.

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/ZN6ZAAVoWZpsD1Jf@p100
lib/test_bpf.c

index 913a7a0..ecde421 100644 (file)
@@ -596,8 +596,8 @@ static int __bpf_fill_alu_shift(struct bpf_test *self, u8 op,
 {
        static const s64 regs[] = {
                0x0123456789abcdefLL, /* dword > 0, word < 0 */
-               0xfedcba9876543210LL, /* dowrd < 0, word > 0 */
-               0xfedcba0198765432LL, /* dowrd < 0, word < 0 */
+               0xfedcba9876543210LL, /* dword < 0, word > 0 */
+               0xfedcba0198765432LL, /* dword < 0, word < 0 */
                0x0123458967abcdefLL, /* dword > 0, word > 0 */
        };
        int bits = alu32 ? 32 : 64;
@@ -14567,8 +14567,10 @@ static int run_one(const struct bpf_prog *fp, struct bpf_test *test)
                if (ret == test->test[i].result) {
                        pr_cont("%lld ", duration);
                } else {
-                       pr_cont("ret %d != %d ", ret,
-                               test->test[i].result);
+                       s32 res = test->test[i].result;
+
+                       pr_cont("ret %d != %d (%#x != %#x)",
+                               ret, res, ret, res);
                        err_cnt++;
                }
        }
@@ -15045,7 +15047,7 @@ static __init int prepare_tail_call_tests(struct bpf_array **pprogs)
        struct bpf_array *progs;
        int which, err;
 
-       /* Allocate the table of programs to be used for tall calls */
+       /* Allocate the table of programs to be used for tail calls */
        progs = kzalloc(struct_size(progs, ptrs, ntests + 1), GFP_KERNEL);
        if (!progs)
                goto out_nomem;