[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGGp+cEaGphDCuZL+sbo2aCVumk2jrq9_Lshifg-Ewphfm40Wg@mail.gmail.com>
Date: Thu, 11 Jul 2019 13:36:06 +0200
From: Krzesimir Nowak <krzesimir@...volk.io>
To: Andrii Nakryiko <andrii.nakryiko@...il.com>
Cc: open list <linux-kernel@...r.kernel.org>,
Alban Crequy <alban@...volk.io>,
Iago López Galeiras <iago@...volk.io>,
Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Martin KaFai Lau <kafai@...com>,
Song Liu <songliubraving@...com>, Yonghong Song <yhs@...com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <jakub.kicinski@...ronome.com>,
Jesper Dangaard Brouer <hawk@...nel.org>,
John Fastabend <john.fastabend@...il.com>,
Stanislav Fomichev <sdf@...gle.com>,
Networking <netdev@...r.kernel.org>, bpf <bpf@...r.kernel.org>,
xdp-newbies@...r.kernel.org
Subject: Re: [bpf-next v3 01/12] selftests/bpf: Print a message when tester
could not run a program
On Thu, Jul 11, 2019 at 1:45 AM Andrii Nakryiko
<andrii.nakryiko@...il.com> wrote:
>
> On Mon, Jul 8, 2019 at 3:42 PM Krzesimir Nowak <krzesimir@...volk.io> wrote:
> >
> > This prints a message when the error is about program type being not
> > supported by the test runner or because of permissions problem. This
> > is to see if the program we expected to run was actually executed.
> >
> > The messages are open-coded because strerror(ENOTSUPP) returns
> > "Unknown error 524".
> >
> > Changes since v2:
> > - Also print "FAIL" on an unexpected bpf_prog_test_run error, so there
> > is a corresponding "FAIL" message for each failed test.
> >
> > Signed-off-by: Krzesimir Nowak <krzesimir@...volk.io>
> > ---
> > tools/testing/selftests/bpf/test_verifier.c | 17 +++++++++++++----
> > 1 file changed, 13 insertions(+), 4 deletions(-)
> >
> > diff --git a/tools/testing/selftests/bpf/test_verifier.c b/tools/testing/selftests/bpf/test_verifier.c
> > index c5514daf8865..b8d065623ead 100644
> > --- a/tools/testing/selftests/bpf/test_verifier.c
> > +++ b/tools/testing/selftests/bpf/test_verifier.c
> > @@ -831,11 +831,20 @@ static int do_prog_test_run(int fd_prog, bool unpriv, uint32_t expected_val,
> > tmp, &size_tmp, &retval, NULL);
> > if (unpriv)
> > set_admin(false);
> > - if (err && errno != 524/*ENOTSUPP*/ && errno != EPERM) {
> > - printf("Unexpected bpf_prog_test_run error ");
> > - return err;
> > + if (err) {
> > + switch (errno) {
> > + case 524/*ENOTSUPP*/:
> > + printf("Did not run the program (not supported) ");
> > + return 0;
> > + case EPERM:
> > + printf("Did not run the program (no permission) ");
>
> Let's add "SKIP: " prefix to these?
Not sure about it. The important part of the test (the program being
verified by the kernel's verifier) was still executed, so the test is
not really skipped.
>
> > + return 0;
> > + default:
> > + printf("FAIL: Unexpected bpf_prog_test_run error (%s) ", strerror(saved_errno));
> > + return err;
> > + }
> > }
> > - if (!err && retval != expected_val &&
> > + if (retval != expected_val &&
> > expected_val != POINTER_VALUE) {
> > printf("FAIL retval %d != %d ", retval, expected_val);
> > return 1;
> > --
> > 2.20.1
> >
--
Kinvolk GmbH | Adalbertstr.6a, 10999 Berlin | tel: +491755589364
Geschäftsführer/Directors: Alban Crequy, Chris Kühl, Iago López Galeiras
Registergericht/Court of registration: Amtsgericht Charlottenburg
Registernummer/Registration number: HRB 171414 B
Ust-ID-Nummer/VAT ID number: DE302207000
Powered by blists - more mailing lists