From: Jesper Dangaard Brouer <brouer@redhat.com>
To: Yonghong Song <yhs@fb.com>
Cc: <bpf@vger.kernel.org>,
Andrii Nakryiko <andrii.nakryiko@gmail.com>,
Hangbin Liu <haliu@redhat.com>,
Daniel Borkmann <borkmann@iogearbox.net>,
Alexei Starovoitov <alexei.starovoitov@gmail.com>,
<vkabatov@redhat.com>, <jbenc@redhat.com>,
brouer@redhat.com
Subject: Re: [PATCH bpf-next] selftests/bpf: test_progs use another shell exit on non-actions
Date: Fri, 3 Jul 2020 13:59:23 +0200 [thread overview]
Message-ID: <20200703135923.5bf3e521@carbon> (raw)
In-Reply-To: <7b3f6c32-78e9-69fe-1f49-7065149e943e@fb.com>
On Thu, 2 Jul 2020 14:24:14 -0700
Yonghong Song <yhs@fb.com> wrote:
> On 7/2/20 10:59 AM, Jesper Dangaard Brouer wrote:
> > This is a follow up adjustment to commit 6c92bd5cd465 ("selftests/bpf:
> > Test_progs indicate to shell on non-actions"), that returns shell exit
> > indication EXIT_FAILURE (value 1) when user selects a non-existing test.
> >
> > The problem with using EXIT_FAILURE is that a shell script cannot tell
> > the difference between a non-existing test and the test failing.
> >
> > This patch uses value 2 as shell exit indication.
> > (Aside note unrecognized option parameters use value 64).
> >
> > Fixes: 6c92bd5cd465 ("selftests/bpf: Test_progs indicate to shell on non-actions")
> > Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
> > ---
> > tools/testing/selftests/bpf/test_progs.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/testing/selftests/bpf/test_progs.c b/tools/testing/selftests/bpf/test_progs.c
> > index 104e833d0087..e8f7cd5dbae4 100644
> > --- a/tools/testing/selftests/bpf/test_progs.c
> > +++ b/tools/testing/selftests/bpf/test_progs.c
> > @@ -12,6 +12,8 @@
> > #include <string.h>
> > #include <execinfo.h> /* backtrace */
> >
> > +#define EXIT_NO_TEST 2
>
> How do you ensure this won't collide with other exit code
> from other library functions (e.g., error code 64 is used
> for unrecognized option which I have no idea what 64 means)?
I expect 64 comes from: /usr/include/sysexits.h
#define EX_USAGE 64 /* command line usage error */
> Maybe -2 for the exit code?
No. The process's exit status must be a number between 0 and 255, as
defined in man exit(3). (run: 'man 3 exit' as there are many manpages
named exit).
But don't use above 127, because that is usually used for indicating
signals. E.g. 139 means 11=SIGSEGV $((139 & 127))=11. POSIX defines
in man wait(3p) check WIFSIGNALED(STATUS) and WTERMSIG(139)=11.
(Hint: cmd 'kill -l' list signals and their numbers).
I bring up Segmentation fault explicitly, as we are seeing these happen
with different tests (that are part of test_progs). CI people writing
these shell-scripts could pickup these hints and report them, if that
makes sense.
> test_progs already uses -1.
Well that is a bug then. This will be seen by the shell (parent
process) as 255.
> > +
> > /* defined in test_progs.h */
> > struct test_env env = {};
> >
> > @@ -740,7 +742,7 @@ int main(int argc, char **argv)
> > close(env.saved_netns_fd);
> >
> > if (env.succ_cnt + env.fail_cnt + env.skip_cnt == 0)
> > - return EXIT_FAILURE;
> > + return EXIT_NO_TEST;
> >
> > return env.fail_cnt ? EXIT_FAILURE : EXIT_SUCCESS;
> > }
> >
--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Hat
LinkedIn: http://www.linkedin.com/in/brouer
next prev parent reply other threads:[~2020-07-03 11:59 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-01 21:44 [PATCH bpf-next V3 0/3] BPF selftests test runner test_progs improvement for scripting Jesper Dangaard Brouer
2020-07-01 21:44 ` [PATCH bpf-next V3 1/3] selftests/bpf: test_progs indicate to shell on non-actions Jesper Dangaard Brouer
2020-07-01 21:46 ` Andrii Nakryiko
2020-07-02 13:47 ` Jesper Dangaard Brouer
2020-07-02 17:59 ` [PATCH bpf-next] selftests/bpf: test_progs use another shell exit " Jesper Dangaard Brouer
2020-07-02 21:24 ` Yonghong Song
2020-07-03 11:59 ` Jesper Dangaard Brouer [this message]
2020-07-04 18:15 ` Yonghong Song
2020-07-01 21:44 ` [PATCH bpf-next V3 2/3] selftests/bpf: test_progs option for getting number of tests Jesper Dangaard Brouer
2020-07-01 21:47 ` Andrii Nakryiko
2020-07-01 21:44 ` [PATCH bpf-next V3 3/3] selftests/bpf: test_progs option for listing test names Jesper Dangaard Brouer
2020-07-01 21:48 ` Andrii Nakryiko
2020-07-01 22:22 ` [PATCH bpf-next V3 0/3] BPF selftests test runner test_progs improvement for scripting Alexei Starovoitov
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=20200703135923.5bf3e521@carbon \
--to=brouer@redhat.com \
--cc=alexei.starovoitov@gmail.com \
--cc=andrii.nakryiko@gmail.com \
--cc=borkmann@iogearbox.net \
--cc=bpf@vger.kernel.org \
--cc=haliu@redhat.com \
--cc=jbenc@redhat.com \
--cc=vkabatov@redhat.com \
--cc=yhs@fb.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