Message ID | 20200123165934.9584-4-lmb@cloudflare.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [bpf,1/4] selftests: bpf: use a temporary file in test_sockmap | expand |
On Thu, Jan 23, 2020 at 04:59:32PM +0000, Lorenz Bauer wrote: > 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 <lmb@cloudflare.com> > --- > .../bpf/prog_tests/select_reuseport.c | 30 ++++++++++++++++--- > 1 file changed, 26 insertions(+), 4 deletions(-) > > diff --git a/tools/testing/selftests/bpf/prog_tests/select_reuseport.c b/tools/testing/selftests/bpf/prog_tests/select_reuseport.c > index 2c37ae7dc214..09a536af139a 100644 > --- a/tools/testing/selftests/bpf/prog_tests/select_reuseport.c > +++ b/tools/testing/selftests/bpf/prog_tests/select_reuseport.c > @@ -316,6 +316,28 @@ static void check_data(int type, sa_family_t family, const struct cmd *cmd, > expected.len, result.len, get_linum()); > } > > +static const char *result_to_str(enum result res) > +{ > + switch (res) { > + case DROP_ERR_INNER_MAP: > + return "DROP_ERR_INNER_MAP"; > + case DROP_ERR_SKB_DATA: > + return "DROP_ERR_SKB_DATA"; > + case DROP_ERR_SK_SELECT_REUSEPORT: > + return "DROP_ERR_SK_SELECT_REUSEPORT"; > + case DROP_MISC: > + return "DROP_MISC"; > + case PASS: > + return "PASS"; > + case PASS_ERR_SK_SELECT_REUSEPORT: > + return "PASS_ERR_SK_SELECT_REUSEPORT"; > + case NR_RESULTS: This should return "UNKNOWN" also. > + return "NR_RESULTS"; > + default: > + return "UNKNOWN"; > + } > +} > +
Lorenz Bauer wrote: > 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 <lmb@cloudflare.com> > --- > .../bpf/prog_tests/select_reuseport.c | 30 ++++++++++++++++--- > 1 file changed, 26 insertions(+), 4 deletions(-) > > diff --git a/tools/testing/selftests/bpf/prog_tests/select_reuseport.c b/tools/testing/selftests/bpf/prog_tests/select_reuseport.c > index 2c37ae7dc214..09a536af139a 100644 > --- a/tools/testing/selftests/bpf/prog_tests/select_reuseport.c > +++ b/tools/testing/selftests/bpf/prog_tests/select_reuseport.c > @@ -316,6 +316,28 @@ static void check_data(int type, sa_family_t family, const struct cmd *cmd, > expected.len, result.len, get_linum()); > } > > +static const char *result_to_str(enum result res) > +{ > + switch (res) { > + case DROP_ERR_INNER_MAP: > + return "DROP_ERR_INNER_MAP"; > + case DROP_ERR_SKB_DATA: > + return "DROP_ERR_SKB_DATA"; > + case DROP_ERR_SK_SELECT_REUSEPORT: > + return "DROP_ERR_SK_SELECT_REUSEPORT"; > + case DROP_MISC: > + return "DROP_MISC"; > + case PASS: > + return "PASS"; > + case PASS_ERR_SK_SELECT_REUSEPORT: > + return "PASS_ERR_SK_SELECT_REUSEPORT"; > + case NR_RESULTS: > + return "NR_RESULTS"; > + default: > + return "UNKNOWN"; > + } > +} > + > static void check_results(void) > { > __u32 results[NR_RESULTS]; > @@ -351,10 +373,10 @@ static void check_results(void) > printf(", %u", expected_results[i]); > printf("]\n"); > > - RET_IF(expected_results[broken] != results[broken], > - "unexpected result", > - "expected_results[%u] != results[%u] bpf_prog_linum:%ld\n", > - broken, broken, get_linum()); > + printf("mismatch on %s (bpf_prog_linum:%ld)\n", result_to_str(broken), > + get_linum()); > + > + CHECK_FAIL(true); > } > > static int send_data(int type, sa_family_t family, void *data, size_t len, > -- > 2.20.1 > Acked-by: John Fastabend <john.fastabend@gmail.com>
diff --git a/tools/testing/selftests/bpf/prog_tests/select_reuseport.c b/tools/testing/selftests/bpf/prog_tests/select_reuseport.c index 2c37ae7dc214..09a536af139a 100644 --- a/tools/testing/selftests/bpf/prog_tests/select_reuseport.c +++ b/tools/testing/selftests/bpf/prog_tests/select_reuseport.c @@ -316,6 +316,28 @@ static void check_data(int type, sa_family_t family, const struct cmd *cmd, expected.len, result.len, get_linum()); } +static const char *result_to_str(enum result res) +{ + switch (res) { + case DROP_ERR_INNER_MAP: + return "DROP_ERR_INNER_MAP"; + case DROP_ERR_SKB_DATA: + return "DROP_ERR_SKB_DATA"; + case DROP_ERR_SK_SELECT_REUSEPORT: + return "DROP_ERR_SK_SELECT_REUSEPORT"; + case DROP_MISC: + return "DROP_MISC"; + case PASS: + return "PASS"; + case PASS_ERR_SK_SELECT_REUSEPORT: + return "PASS_ERR_SK_SELECT_REUSEPORT"; + case NR_RESULTS: + return "NR_RESULTS"; + default: + return "UNKNOWN"; + } +} + static void check_results(void) { __u32 results[NR_RESULTS]; @@ -351,10 +373,10 @@ static void check_results(void) printf(", %u", expected_results[i]); printf("]\n"); - RET_IF(expected_results[broken] != results[broken], - "unexpected result", - "expected_results[%u] != results[%u] bpf_prog_linum:%ld\n", - broken, broken, get_linum()); + printf("mismatch on %s (bpf_prog_linum:%ld)\n", result_to_str(broken), + get_linum()); + + CHECK_FAIL(true); } static int send_data(int type, sa_family_t family, void *data, size_t len,
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 <lmb@cloudflare.com> --- .../bpf/prog_tests/select_reuseport.c | 30 ++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-)