From: Alan Maguire <alan.maguire@oracle.com>
To: "Toke Høiland-Jørgensen" <toke@redhat.com>
Cc: daniel@iogearbox.net, ast@fb.com, bpf@vger.kernel.org,
netdev@vger.kernel.org, Alan Maguire <alan.maguire@oracle.com>
Subject: Re: [PATCH bpf-next] selftests/bpf_iter: don't fail test due to missing __builtin_btf_type_id
Date: Tue, 29 Sep 2020 13:35:26 +0100 (IST) [thread overview]
Message-ID: <alpine.LRH.2.21.2009291333310.26076@localhost> (raw)
In-Reply-To: <20200929123004.46694-1-toke@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 2770 bytes --]
On Tue, 29 Sep 2020, Toke Høiland-Jørgensen wrote:
> The new test for task iteration in bpf_iter checks (in do_btf_read()) if it
> should be skipped due to missing __builtin_btf_type_id. However, this
> 'skip' verdict is not propagated to the caller, so the parent test will
> still fail. Fix this by also skipping the rest of the parent test if the
> skip condition was reached.
>
> Fixes: b72091bd4ee4 ("selftests/bpf: Add test for bpf_seq_printf_btf helper")
> Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
Reviewed-by: Alan Maguire <alan.maguire@oracle.com>
Thanks for fixing this Toke!
> ---
> tools/testing/selftests/bpf/prog_tests/bpf_iter.c | 12 +++++++++---
> 1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/prog_tests/bpf_iter.c b/tools/testing/selftests/bpf/prog_tests/bpf_iter.c
> index af15630a24dd..448885b95eed 100644
> --- a/tools/testing/selftests/bpf/prog_tests/bpf_iter.c
> +++ b/tools/testing/selftests/bpf/prog_tests/bpf_iter.c
> @@ -172,17 +172,18 @@ static void test_task_file(void)
>
> static char taskbuf[TASKBUFSZ];
>
> -static void do_btf_read(struct bpf_iter_task_btf *skel)
> +static int do_btf_read(struct bpf_iter_task_btf *skel)
> {
> struct bpf_program *prog = skel->progs.dump_task_struct;
> struct bpf_iter_task_btf__bss *bss = skel->bss;
> int iter_fd = -1, len = 0, bufleft = TASKBUFSZ;
> struct bpf_link *link;
> char *buf = taskbuf;
> + int ret = 0;
>
> link = bpf_program__attach_iter(prog, NULL);
> if (CHECK(IS_ERR(link), "attach_iter", "attach_iter failed\n"))
> - return;
> + return ret;
>
> iter_fd = bpf_iter_create(bpf_link__fd(link));
> if (CHECK(iter_fd < 0, "create_iter", "create_iter failed\n"))
> @@ -198,6 +199,7 @@ static void do_btf_read(struct bpf_iter_task_btf *skel)
>
> if (bss->skip) {
> printf("%s:SKIP:no __builtin_btf_type_id\n", __func__);
> + ret = 1;
> test__skip();
> goto free_link;
> }
> @@ -212,12 +214,14 @@ static void do_btf_read(struct bpf_iter_task_btf *skel)
> if (iter_fd > 0)
> close(iter_fd);
> bpf_link__destroy(link);
> + return ret;
> }
>
> static void test_task_btf(void)
> {
> struct bpf_iter_task_btf__bss *bss;
> struct bpf_iter_task_btf *skel;
> + int ret;
>
> skel = bpf_iter_task_btf__open_and_load();
> if (CHECK(!skel, "bpf_iter_task_btf__open_and_load",
> @@ -226,7 +230,9 @@ static void test_task_btf(void)
>
> bss = skel->bss;
>
> - do_btf_read(skel);
> + ret = do_btf_read(skel);
> + if (ret)
> + goto cleanup;
>
> if (CHECK(bss->tasks == 0, "check if iterated over tasks",
> "no task iteration, did BPF program run?\n"))
> --
> 2.28.0
>
>
next prev parent reply other threads:[~2020-09-29 12:35 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-29 12:30 [PATCH bpf-next] selftests/bpf_iter: don't fail test due to missing __builtin_btf_type_id Toke Høiland-Jørgensen
2020-09-29 12:35 ` Alan Maguire [this message]
2020-09-29 12:50 ` Toke Høiland-Jørgensen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.LRH.2.21.2009291333310.26076@localhost \
--to=alan.maguire@oracle.com \
--cc=ast@fb.com \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=netdev@vger.kernel.org \
--cc=toke@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).