[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5e2b4993c633c_551b2aaf5fbda5b826@john-XPS-13-9370.notmuch>
Date: Fri, 24 Jan 2020 11:46:27 -0800
From: John Fastabend <john.fastabend@...il.com>
To: Lorenz Bauer <lmb@...udflare.com>, Shuah Khan <shuah@...nel.org>,
Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Martin KaFai Lau <kafai@...com>,
Song Liu <songliubraving@...com>, Yonghong Song <yhs@...com>,
Andrii Nakryiko <andriin@...com>
Cc: Lorenz Bauer <lmb@...udflare.com>, linux-kselftest@...r.kernel.org,
netdev@...r.kernel.org, bpf@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: RE: [PATCH bpf 3/4] selftests: bpf: make reuseport test output more
legible
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@...udflare.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@...il.com>
Powered by blists - more mailing lists