Re: [PATCH 5/5] kselftest: Add exit code defines
From: Michael Ellerman <hidden>
Date: 2015-03-29 23:44:55
Also in:
lkml
On Fri, 2015-03-27 at 16:09 -0700, Darren Hart wrote:
On 3/27/15 3:59 PM, Michael Ellerman wrote:quoted
On Fri, 2015-03-27 at 15:17 -0700, Darren Hart wrote:quoted
Define the exit codes with KSFT_PASS and similar so tests can use these directly if they choose. Also enable harnesses and other tooling to use the defines instead of hardcoding the return codes.+1quoted
diff --git a/tools/testing/selftests/kselftest.h b/tools/testing/selftests/kselftest.h index 572c888..ef1c80d 100644 --- a/tools/testing/selftests/kselftest.h +++ b/tools/testing/selftests/kselftest.h@@ -13,6 +13,13 @@ #include <stdlib.h> #include <unistd.h> +/* define kselftest exit codes */ +#define KSFT_PASS 0 +#define KSFT_FAIL 1 +#define KSFT_XFAIL 2 +#define KSFT_XPASS 3 +#define KSFT_SKIP 4 + /* counters */ struct ksft_count { unsigned int ksft_pass;@@ -40,23 +47,23 @@ static inline void ksft_print_cnts(void) static inline int ksft_exit_pass(void) { - exit(0); + exit(KSFT_PASS); }Am I the only person who's bothered by the fact that these don't actually return int?That bothered me to, but I couldn't be bothered to go read the manuals apparently to come up with a compelling argument :-)
Yeah, obviously the compiler accepts it, but it's still a bit weird.
I also think the ksft_exit* routines should go ahead and increment the counters (at least optionally) so we don't have to call two functions.
But the ksft_exit_*() routines exit, so there's no point incrementing the counters. Unless they *also* print the counters before exiting? To be honest I think we need to decide if the selftests are going to speak TAP or xUnit or whatever, and then switch to that. In their current form these helpers don't help much. cheers