From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-out.m-online.net (mail-out.m-online.net [212.18.0.10]) by sourceware.org (Postfix) with ESMTPS id 90D113835404 for ; Wed, 24 Feb 2021 15:36:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 90D113835404 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=denx.de Authentication-Results: sourceware.org; spf=none smtp.mailfrom=lukma@denx.de Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4Dm0QX47fHz1s0fW; Wed, 24 Feb 2021 16:36:52 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4Dm0QX2rP4z1sP6K; Wed, 24 Feb 2021 16:36:52 +0100 (CET) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id u992IYJ3Tn-D; Wed, 24 Feb 2021 16:36:50 +0100 (CET) X-Auth-Info: 4+ZTQFL9T9hD1qmrFSw0t3dyxR+/rcN8IWv0AiTMIcY= Received: from jawa (85-222-111-42.dynamic.chello.pl [85.222.111.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Wed, 24 Feb 2021 16:36:49 +0100 (CET) Date: Wed, 24 Feb 2021 16:36:41 +0100 From: Lukasz Majewski To: Adhemerval Zanella Cc: Joseph Myers , Florian Weimer , DJ Delorie , Paul Eggert , Alistair Francis , Arnd Bergmann , Alistair Francis , GNU C Library , Carlos O'Donell , Florian Weimer , Zack Weinberg Subject: Re: [PATCH v2] tst: Add test for clock_adjtime Message-ID: <20210224163641.150929b9@jawa> In-Reply-To: <4b68452d-a33a-ea59-9ca1-4cd77f0da819@linaro.org> References: <20210217232435.24045-1-lukma@denx.de> <6963d676-c818-b8d8-c019-c97efe4c77c3@linaro.org> <20210224141832.71095620@jawa> <4b68452d-a33a-ea59-9ca1-4cd77f0da819@linaro.org> Organization: denx.de X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; boundary="Sig_/3UTp0KiioL50R1PR9Q5eDuW"; protocol="application/pgp-signature" X-Spam-Status: No, score=-14.6 required=5.0 tests=BAYES_00, BIGNUM_EMAILS, GIT_PATCH_0, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, KAM_SHORT, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Feb 2021 15:36:57 -0000 --Sig_/3UTp0KiioL50R1PR9Q5eDuW Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi Adhemerval > On 24/02/2021 10:18, Lukasz Majewski wrote: > > Hi Adhemerval, > > =20 > >> On 17/02/2021 20:24, Lukasz Majewski wrote: =20 > >>> 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 :=3D 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 > >>> =20 > >>> include ../Rules > >>> =20 > >> > >> Ok. > >> =20 > >>> 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) =3D=3D NULL) > >>> + FAIL_UNSUPPORTED ("clock_adjtime is executed only when "\ > >>> + SETTIME_ENV_NAME" is set\n"); =20 > >> > >> Ok. > >> =20 > >>> + > >>> + tv_then =3D xclock_now (CLOCK_REALTIME); > >>> + > >>> + /* Setup time value to adjust - 1 ms. */ > >>> + delta.time.tv_sec =3D 0; > >>> + delta.time.tv_usec =3D 1000; > >>> + delta.modes =3D ADJ_SETOFFSET; =20 > >> > >> 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. =20 > >=20 > > What time value would be more appropriate? 1second? =20 >=20 > 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=20 > 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 --Sig_/3UTp0KiioL50R1PR9Q5eDuW Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEgAyFJ+N6uu6+XupJAR8vZIA0zr0FAmA2cooACgkQAR8vZIA0 zr1lNgf7BUSiiez3/viE/ksIJSoJQMuusXQbQVU9CmTXLZNl05e0bQmASLHlX/1p sPJ+9hLyGG599eD5FTrZiWccSJkvmiK5EFyAPER5SSX/fBfV66n7wQ6WZ+3wq3zC nO3O4PI57GQ04YLq3+YT2x5O7G43lo8pNiRLt1IVsM0u4dExMQr2ljJ8U+ZSZ8V6 xYeHL0BqeW6CA5zLCgNUrarRINmcza1aTQUUNmljakf0rY1LUG6Itt2mMG8ZU9PF GP8ACnHU3c3nTW0WLzxUA/RdDkJDBlbhoAZLmWku6wPsu3JaCLmEkN9STgL292MH ZffWtCDtN+eV+Y1+XFnvATvp4vCPcA== =K19E -----END PGP SIGNATURE----- --Sig_/3UTp0KiioL50R1PR9Q5eDuW--