netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next] selftests/bpf: make correct use of exit codes in bpf selftests
       [not found] <20170613142211.4bc50e1f@redhat.com>
@ 2017-06-13 13:17 ` Jesper Dangaard Brouer
  2017-06-13 13:27   ` Daniel Borkmann
                     ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Jesper Dangaard Brouer @ 2017-06-13 13:17 UTC (permalink / raw)
  To: netdev
  Cc: fengguang.wu, Daniel Borkmann, linux-kselftest,
	Jesper Dangaard Brouer

The selftests depend on using the shell exit code as a mean of
detecting the success or failure of test-binary executed.  The
appropiate output "[PASS]" or "[FAIL]" in generated by
tools/testing/selftests/lib.mk.

Notice that the exit code is masked with 255. Thus, be careful if
using the number of errors as the exits code, as 256 errors would be
seen as a success.

There are two standard defined exit(3) codes:
 /usr/include/stdlib.h
 #define EXIT_FAILURE    1       /* Failing exit status.  */
 #define EXIT_SUCCESS    0       /* Successful exit status.  */

Fix test_verifier.c to not use the negative value of variable
"results", but instead return EXIT_FAILURE.

Fix test_align.c and test_progs.c to actually use exit codes, before
they were always indicating success regardless of results.

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
---
 tools/testing/selftests/bpf/test_align.c    |    2 +-
 tools/testing/selftests/bpf/test_progs.c    |    2 +-
 tools/testing/selftests/bpf/test_verifier.c |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/bpf/test_align.c b/tools/testing/selftests/bpf/test_align.c
index 1426594fdf6b..bccebd935907 100644
--- a/tools/testing/selftests/bpf/test_align.c
+++ b/tools/testing/selftests/bpf/test_align.c
@@ -428,7 +428,7 @@ static int do_test(unsigned int from, unsigned int to)
 	}
 	printf("Results: %d pass %d fail\n",
 	       all_pass, all_fail);
-	return 0;
+	return all_fail ? EXIT_FAILURE : EXIT_SUCCESS;
 }
 
 int main(int argc, char **argv)
diff --git a/tools/testing/selftests/bpf/test_progs.c b/tools/testing/selftests/bpf/test_progs.c
index fec13ab84fca..f10493d4c37c 100644
--- a/tools/testing/selftests/bpf/test_progs.c
+++ b/tools/testing/selftests/bpf/test_progs.c
@@ -497,5 +497,5 @@ int main(void)
 	test_bpf_obj_id();
 
 	printf("Summary: %d PASSED, %d FAILED\n", pass_cnt, error_cnt);
-	return 0;
+	return error_cnt ? EXIT_FAILURE : EXIT_SUCCESS;
 }
diff --git a/tools/testing/selftests/bpf/test_verifier.c b/tools/testing/selftests/bpf/test_verifier.c
index cabb19b1e371..4ee4708b0d60 100644
--- a/tools/testing/selftests/bpf/test_verifier.c
+++ b/tools/testing/selftests/bpf/test_verifier.c
@@ -5418,7 +5418,7 @@ static int do_test(bool unpriv, unsigned int from, unsigned int to)
 	}
 
 	printf("Summary: %d PASSED, %d FAILED\n", passes, errors);
-	return errors ? -errors : 0;
+	return errors ? EXIT_FAILURE : EXIT_SUCCESS;
 }
 
 int main(int argc, char **argv)

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH net-next] selftests/bpf: make correct use of exit codes in bpf selftests
  2017-06-13 13:17 ` [PATCH net-next] selftests/bpf: make correct use of exit codes in bpf selftests Jesper Dangaard Brouer
@ 2017-06-13 13:27   ` Daniel Borkmann
  2017-06-13 13:35   ` Fengguang Wu
  2017-06-13 17:59   ` David Miller
  2 siblings, 0 replies; 4+ messages in thread
From: Daniel Borkmann @ 2017-06-13 13:27 UTC (permalink / raw)
  To: Jesper Dangaard Brouer, netdev; +Cc: fengguang.wu, linux-kselftest

On 06/13/2017 03:17 PM, Jesper Dangaard Brouer wrote:
> The selftests depend on using the shell exit code as a mean of
> detecting the success or failure of test-binary executed.  The
> appropiate output "[PASS]" or "[FAIL]" in generated by
> tools/testing/selftests/lib.mk.
>
> Notice that the exit code is masked with 255. Thus, be careful if
> using the number of errors as the exits code, as 256 errors would be
> seen as a success.
>
> There are two standard defined exit(3) codes:
>   /usr/include/stdlib.h
>   #define EXIT_FAILURE    1       /* Failing exit status.  */
>   #define EXIT_SUCCESS    0       /* Successful exit status.  */
>
> Fix test_verifier.c to not use the negative value of variable
> "results", but instead return EXIT_FAILURE.
>
> Fix test_align.c and test_progs.c to actually use exit codes, before
> they were always indicating success regardless of results.
>
> Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>

Acked-by: Daniel Borkmann <daniel@iogearbox.net>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH net-next] selftests/bpf: make correct use of exit codes in bpf selftests
  2017-06-13 13:17 ` [PATCH net-next] selftests/bpf: make correct use of exit codes in bpf selftests Jesper Dangaard Brouer
  2017-06-13 13:27   ` Daniel Borkmann
@ 2017-06-13 13:35   ` Fengguang Wu
  2017-06-13 17:59   ` David Miller
  2 siblings, 0 replies; 4+ messages in thread
From: Fengguang Wu @ 2017-06-13 13:35 UTC (permalink / raw)
  To: Jesper Dangaard Brouer; +Cc: netdev, Daniel Borkmann, linux-kselftest

On Tue, Jun 13, 2017 at 03:17:19PM +0200, Jesper Dangaard Brouer wrote:
>The selftests depend on using the shell exit code as a mean of
>detecting the success or failure of test-binary executed.  The
>appropiate output "[PASS]" or "[FAIL]" in generated by
>tools/testing/selftests/lib.mk.
>
>Notice that the exit code is masked with 255. Thus, be careful if
>using the number of errors as the exits code, as 256 errors would be

nit pick:

s/exits/exit/

> 	printf("Summary: %d PASSED, %d FAILED\n", passes, errors);
>-	return errors ? -errors : 0;
>+	return errors ? EXIT_FAILURE : EXIT_SUCCESS;

Reviewed-by: Fengguang Wu <fengguang.wu@intel.com>

Thanks,
Fengguang

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH net-next] selftests/bpf: make correct use of exit codes in bpf selftests
  2017-06-13 13:17 ` [PATCH net-next] selftests/bpf: make correct use of exit codes in bpf selftests Jesper Dangaard Brouer
  2017-06-13 13:27   ` Daniel Borkmann
  2017-06-13 13:35   ` Fengguang Wu
@ 2017-06-13 17:59   ` David Miller
  2 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2017-06-13 17:59 UTC (permalink / raw)
  To: brouer; +Cc: netdev, fengguang.wu, borkmann, linux-kselftest

From: Jesper Dangaard Brouer <brouer@redhat.com>
Date: Tue, 13 Jun 2017 15:17:19 +0200

> The selftests depend on using the shell exit code as a mean of
> detecting the success or failure of test-binary executed.  The
> appropiate output "[PASS]" or "[FAIL]" in generated by
> tools/testing/selftests/lib.mk.
> 
> Notice that the exit code is masked with 255. Thus, be careful if
> using the number of errors as the exits code, as 256 errors would be
> seen as a success.
> 
> There are two standard defined exit(3) codes:
>  /usr/include/stdlib.h
>  #define EXIT_FAILURE    1       /* Failing exit status.  */
>  #define EXIT_SUCCESS    0       /* Successful exit status.  */
> 
> Fix test_verifier.c to not use the negative value of variable
> "results", but instead return EXIT_FAILURE.
> 
> Fix test_align.c and test_progs.c to actually use exit codes, before
> they were always indicating success regardless of results.
> 
> Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>

Applied with commit log message corrected, thanks.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-06-13 17:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20170613142211.4bc50e1f@redhat.com>
2017-06-13 13:17 ` [PATCH net-next] selftests/bpf: make correct use of exit codes in bpf selftests Jesper Dangaard Brouer
2017-06-13 13:27   ` Daniel Borkmann
2017-06-13 13:35   ` Fengguang Wu
2017-06-13 17:59   ` David Miller

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).