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]>

Reply via email to