Message ID | ZN6ZAAVoWZpsD1Jf@p100 (mailing list archive) |
---|---|
State | Awaiting Upstream, archived |
Headers | show |
Series | bpf/tests: Enhance output on error and fix typos | expand |
On 8/18/23 12:02 AM, Helge Deller wrote: > 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> > > --- > > diff --git a/lib/test_bpf.c b/lib/test_bpf.c > index fa0833410ac1..2c01932524b3 100644 > --- a/lib/test_bpf.c > +++ b/lib/test_bpf.c > @@ -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; > @@ -14577,8 +14577,9 @@ 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; Added a newline in here while applying to bpf-next, thanks for the patch! > + pr_cont("ret %d != %d (%#x != %#x)", > + ret, res, ret, res); > err_cnt++; > } > } > @@ -15055,7 +15056,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; >
diff --git a/lib/test_bpf.c b/lib/test_bpf.c index fa0833410ac1..2c01932524b3 100644 --- a/lib/test_bpf.c +++ b/lib/test_bpf.c @@ -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; @@ -14577,8 +14577,9 @@ 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++; } } @@ -15055,7 +15056,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;
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> ---