On Thu, Jul 2, 2026 at 2:39 AM Jiangshan Yi <[email protected]> wrote: > > Commit 98b74e1f3104 ("kselftests: timers: leap-a-day: Change default > arguments to help test runs") replaced the -s option with -w and made > "wait for the leap second" the non-default behaviour, but it only > updated the switch/case handling. Two things were left inconsistent: > > - The getopt() option string still lists 's' instead of 'w', so > passing -w is rejected as an invalid option and the new behaviour > cannot be selected at all. > > - The file header comment still documents the removed -s option and > an outdated default for -i. > > Fix the getopt() string to accept 'w' (matching the existing case 'w': > handler) and update the header comment to describe -w, -t and the > current -i default. > > Fixes: 98b74e1f3104 ("kselftests: timers: leap-a-day: Change default > arguments to help test runs") > Signed-off-by: Jiangshan Yi <[email protected]> > --- > tools/testing/selftests/timers/leap-a-day.c | 19 +++++++++++-------- > 1 file changed, 11 insertions(+), 8 deletions(-) > > diff --git a/tools/testing/selftests/timers/leap-a-day.c > b/tools/testing/selftests/timers/leap-a-day.c > index 3568cfb3e815..97c8c66bea88 100644 > --- a/tools/testing/selftests/timers/leap-a-day.c > +++ b/tools/testing/selftests/timers/leap-a-day.c > @@ -9,16 +9,19 @@ > * kernel's leap-second behavior, as well as how well applications > * handle the leap-second discontinuity. > * > - * Usage: leap-a-day [-s] [-i <num>] > + * Usage: leap-a-day [-w] [-i <num>] [-t] > * > * Options: > - * -s: Each iteration, set the date to 10 seconds before midnight > GMT. > - * This speeds up the number of leapsecond transitions tested, > - * but because it calls settimeofday frequently, advancing the > - * time by 24 hours every ~16 seconds, it may cause application > - * disruption. > + * -w: Only set the leap-second flag and wait for the leap second > + * each iteration, instead of advancing the time. By default the > + * date is set to 10 seconds before midnight GMT, which speeds up > + * the number of leapsecond transitions tested, but because it > + * calls settimeofday frequently, advancing the time by 24 hours > + * every ~16 seconds, it may cause application disruption. > * > - * -i: Number of iterations to run (default: infinite) > + * -i: Number of iterations to run (-1 = infinite, default: 10) > + * > + * -t: Print TAI time. > * > * Other notes: Disabling NTP prior to running this is advised, as the two > * may conflict in their commands to the kernel. > @@ -186,7 +189,7 @@ int main(int argc, char **argv) > int opt; > > /* Process arguments */ > - while ((opt = getopt(argc, argv, "sti:")) != -1) { > + while ((opt = getopt(argc, argv, "wti:")) != -1) { > switch (opt) { > case 'w': > printf("Only setting leap-flag, not changing time. It > could take up to a day for leap to trigger.\n");
Ah. Good catch. I clearly didn't find the time to actually test the "wait for up to a day for leap to trigger" case. Whoops. Thanks for sending this out! Acked-by: John Stultz <[email protected]>

