Re: [PATCH 1/2] kselftests: timers: Make set-timer-lat fail more gracefully for !CAP_WAKE_ALARM

From: Prarit Bhargava
Date: Thu Mar 26 2015 - 07:31:20 EST




On 03/25/2015 07:44 PM, John Stultz wrote:
> The set-timer-lat test fails when testing CLOCK_BOOTTIME_ALARM
> or CLOCK_REALTIME_ALARM when the user isn't running as root or
> with CAP_WAKE_ALARM.
>
> So this patch improves the error checking so we report the
> issue more clearly and continue rather then reporting a failure.
>
> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
> Cc: Prarit Bhargava <prarit@xxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Richard Cochran <richardcochran@xxxxxxxxx>
> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
> ---
> tools/testing/selftests/timers/set-timer-lat.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/tools/testing/selftests/timers/set-timer-lat.c b/tools/testing/selftests/timers/set-timer-lat.c
> index 3ea2eff..dbc9537c 100644
> --- a/tools/testing/selftests/timers/set-timer-lat.c
> +++ b/tools/testing/selftests/timers/set-timer-lat.c
> @@ -139,6 +139,13 @@ int do_timer(int clock_id, int flags)
>
> err = timer_create(clock_id, &se, &tm1);
> if (err) {
> + if ((clock_id == CLOCK_REALTIME_ALARM)
> + || (clock_id == CLOCK_BOOTTIME_ALARM)) {

I dunno of there is actually a CodingStyle rule for this, but I've always seen
this written with the operator on the first line:

if ((clock_id == CLOCK_REALTIME_ALARM) ||
(clock_id == CLOCK_BOOTTIME_ALARM)) {

> + printf("%-22s %s missing CAP_WAKE_ALARM? : [UNSUPPORTED]\n",
> + clockstring(clock_id),
> + flags ? "ABSTIME":"RELTIME");

Something to think about: Do you want to write these tests to be more human
readable or machine readable? In theory with awk I guess it doesn't matter too
much, however, it is something that we should think about moving forward.

P.
--
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/