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