[LTP] [PATCH v2] syscalls/clock_settime03: Fix testcases have been waiting, timeout failure

Richard Palethorpe rpalethorpe@suse.de
Mon Oct 10 11:32:23 CEST 2022


Hello,

Lianjie Zhang <zhanglianjie@uniontech.com> writes:

> From: zhanglianjie <zhanglianjie@uniontech.com>
>
> If the system enables auto-synchronization time configuration,
> this test case will wait until the timeout. Therefore,
> the automatic synchronization time configuration of the system needs to be turned off in the setup phase.
>
> message:
> tst_test.c:1457: TINFO: Timeout per run is 0h 05m 00s
> clock_settime03.c:35: TINFO: Testing variant: syscall with old kernel spec
> tst_test.c:1506: TINFO: If you are running on slow machine, try exporting LTP_TIMEOUT_MUL > 1
> tst_test.c:1507: TBROK: Test killed! (timeout?)
>
> Signed-off-by: zhanglianjie <zhanglianjie@uniontech.com>
>
> diff --git a/testcases/kernel/syscalls/clock_settime/clock_settime03.c b/testcases/kernel/syscalls/clock_settime/clock_settime03.c
> index f196a257c..ce0e7b4c4 100644
> --- a/testcases/kernel/syscalls/clock_settime/clock_settime03.c
> +++ b/testcases/kernel/syscalls/clock_settime/clock_settime03.c
> @@ -31,6 +31,7 @@ static struct time64_variants variants[] = {
>  static void setup(void)
>  {
>  	struct time64_variants *tv = &variants[tst_variant];
> +	int ret;
>
>  	tst_res(TINFO, "Testing variant: %s", tv->desc);
>  	start.type = end.type = its.type = tv->ts_type;
> @@ -40,6 +41,10 @@ static void setup(void)
>  	    sizeof(start.ts.kern_old_ts.tv_sec) == 4) {
>  		tst_brk(TCONF, "Not Y2038 safe to run test");
>  	}
> +
> +	ret = tst_system("timedatectl set-ntp false");

This still requires that systemd is being used to set the time.

Possibly we could setup a second timer which uses CLOCK_MONOTONIC. If
that expires before the other then we can check if the time was reset to
the present and signal TCONF.

> +	if (ret)
> +		tst_res(TINFO, "failed to timedatectl set-ntp");
>  }
>
>  static void run(void)
> --
> 2.20.1


-- 
Thank you,
Richard.


More information about the ltp mailing list