Re: [PATCH 5/5] kselftest: Add exit code defines

From: Michael Ellerman
Date: Sun Mar 29 2015 - 19:45:14 EST


On Fri, 2015-03-27 at 16:09 -0700, Darren Hart wrote:
>
> On 3/27/15 3:59 PM, Michael Ellerman wrote:
> > On Fri, 2015-03-27 at 15:17 -0700, Darren Hart wrote:
> >> 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.
> >
> > +1
> >
> >> 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


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/