Hi Adhemerval > On 24/02/2021 10:18, Lukasz Majewski wrote: > > Hi Adhemerval, > > > >> On 17/02/2021 20:24, Lukasz Majewski wrote: > >>> This code brings test to check if time on target machine is > >>> properly adjusted. > >>> The time is altered only when cross-test-ssh.sh is executed with > >>> --allow-time-setting flag > >>> As the delta added to CLOCK_REALTIME is only 1ms the original time > >>> is not restored and further tests are executed with this bias. > >>> > >>> --- > >>> Changes for v2: > >>> - Use timespec_sub and support_timespec_check_in_range to check if > >>> time has been adjusted properly > >>> --- > >>> time/Makefile | 2 +- > >>> time/tst-clock_adjtime.c | 59 > >>> ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 > >>> insertions(+), 1 deletion(-) create mode 100644 > >>> time/tst-clock_adjtime.c > >>> > >>> diff --git a/time/Makefile b/time/Makefile > >>> index b6f0969f3d..fc6415bf8a 100644 > >>> --- a/time/Makefile > >>> +++ b/time/Makefile > >>> @@ -51,7 +51,7 @@ tests := test_time clocktest tst-posixtz > >>> tst-strptime tst_wcsftime \ tst-clock tst-clock2 > >>> tst-clock_nanosleep tst-cpuclock1 \ tst-adjtime tst-ctime > >>> tst-difftime tst-mktime4 tst-clock-y2038 \ tst-clock2-y2038 > >>> tst-cpuclock1-y2038 tst-clock_nanosleep-y2038 \ > >>> - tst-clock_settime > >>> + tst-clock_settime tst-clock_adjtime > >>> > >>> include ../Rules > >>> > >> > >> Ok. > >> > >>> diff --git a/time/tst-clock_adjtime.c b/time/tst-clock_adjtime.c > >>> new file mode 100644 > >>> index 0000000000..f31a4058ec > >>> --- /dev/null > >>> +++ b/time/tst-clock_adjtime.c > >>> @@ -0,0 +1,59 @@ > >>> +/* Test for clock_adjtime > >>> + Copyright (C) 2021 Free Software Foundation, Inc. > >>> + This file is part of the GNU C Library. > >>> + > >>> + The GNU C Library is free software; you can redistribute it > >>> and/or > >>> + modify it under the terms of the GNU Lesser General Public > >>> + License as published by the Free Software Foundation; either > >>> + version 2.1 of the License, or (at your option) any later > >>> version. + > >>> + The GNU C Library is distributed in the hope that it will be > >>> useful, > >>> + but WITHOUT ANY WARRANTY; without even the implied warranty of > >>> + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > >>> GNU > >>> + Lesser General Public License for more details. > >>> + > >>> + You should have received a copy of the GNU Lesser General > >>> Public > >>> + License along with the GNU C Library; if not, see > >>> + . */ > >>> + > >>> +#include > >>> +#include > >>> +#include > >>> +#include > >>> +#include > >>> +#include > >>> + > >>> +static int > >>> +do_test (void) > >>> +{ > >>> + struct timespec tv_then, tv_now; > >>> + struct timex delta; > >>> + > >>> + /* Check if altering target time is allowed. */ > >>> + if (getenv (SETTIME_ENV_NAME) == NULL) > >>> + FAIL_UNSUPPORTED ("clock_adjtime is executed only when "\ > >>> + SETTIME_ENV_NAME" is set\n"); > >> > >> Ok. > >> > >>> + > >>> + tv_then = xclock_now (CLOCK_REALTIME); > >>> + > >>> + /* Setup time value to adjust - 1 ms. */ > >>> + delta.time.tv_sec = 0; > >>> + delta.time.tv_usec = 1000; > >>> + delta.modes = ADJ_SETOFFSET; > >> > >> Maybe 1 ms is too low? I take that usually the system load on the > >> testing scenario would be low, that's why you haven't see a > >> potential issue. > > > > What time value would be more appropriate? 1second? > > I would go with 1s and check with a range between 10%. It should give > some slack if the system time triggers some background daemons, but > at same time is large enough that the check would trigger if the > time is not changed. Ok, I will set it as 1sec. Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de