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.9]) by sourceware.org (Postfix) with ESMTPS id 46E1F39AC84B for ; Wed, 3 Feb 2021 14:18:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 46E1F39AC84B 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 4DW3h03Cn1z1qv9Q; Wed, 3 Feb 2021 15:18:40 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4DW3h023mfz1t5km; Wed, 3 Feb 2021 15:18:40 +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 x_36_rxdJ9wi; Wed, 3 Feb 2021 15:18:38 +0100 (CET) X-Auth-Info: 6PC7y/RAlaFoRsqxdb6uuQHJOqGd1hCB+1gYEN+QRFU= 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, 3 Feb 2021 15:18:37 +0100 (CET) Date: Wed, 3 Feb 2021 15:18:37 +0100 From: Lukasz Majewski To: Joseph Myers , Adhemerval Zanella , Florian Weimer Cc: Paul Eggert , Alistair Francis , Arnd Bergmann , Alistair Francis , GNU C Library , Carlos O'Donell , Florian Weimer , Zack Weinberg Subject: Re: [PATCH 2/3] support: Provide xclock_settime test helper function Message-ID: <20210203151837.79327361@jawa> In-Reply-To: <20210118160336.2553-2-lukma@denx.de> References: <20210118160336.2553-1-lukma@denx.de> <20210118160336.2553-2-lukma@denx.de> 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_/ONQWsgU_.p.BHMW5+z_M5N_"; protocol="application/pgp-signature" X-Spam-Status: No, score=-15.8 required=5.0 tests=BAYES_00, 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, 03 Feb 2021 14:18:42 -0000 --Sig_/ONQWsgU_.p.BHMW5+z_M5N_ Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Dear Community, > The xclock_settime is a wrapper function on the clock_settime syscall > to be used in the test code. >=20 > It checks if the GLIBC_TEST_ALLOW_TIME_SETTING env variable is defined > in the environment in which test is executed. If it is not - the test > ends as unsupported. Otherwise, the clock-settime is executed and > return value is assessed. Gentle ping on this patch. It will facilitate testing time adjusted on target VMs. > --- > support/Makefile | 1 + > support/xclock_settime.c | 35 +++++++++++++++++++++++++++++++++++ > support/xtime.h | 5 +++++ > 3 files changed, 41 insertions(+) > create mode 100644 support/xclock_settime.c >=20 > diff --git a/support/Makefile b/support/Makefile > index bb9889efb4..8d63fbd5da 100644 > --- a/support/Makefile > +++ b/support/Makefile > @@ -90,6 +90,7 @@ libsupport-routines =3D \ > xchdir \ > xchroot \ > xclock_gettime \ > + xclock_settime \ > xclose \ > xchmod \ > xconnect \ > diff --git a/support/xclock_settime.c b/support/xclock_settime.c > new file mode 100644 > index 0000000000..12a83b9d79 > --- /dev/null > +++ b/support/xclock_settime.c > @@ -0,0 +1,35 @@ > +/* clock_settime with error checking. > + 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 > + > +void > +xclock_settime (clockid_t clockid, > + const struct timespec *ts) > +{ > + if (getenv (SETTIME_ENV_NAME) =3D=3D NULL) > + FAIL_UNSUPPORTED ("clock_settime is executed only when "\ > + SETTIME_ENV_NAME" is set\n"); > + > + const int ret =3D clock_settime (clockid, ts); > + if (ret < 0) > + FAIL_EXIT1 ("clock_settime (%d): %m", clockid); > +} > diff --git a/support/xtime.h b/support/xtime.h > index 2482837dee..b4ac3b59e2 100644 > --- a/support/xtime.h > +++ b/support/xtime.h > @@ -23,10 +23,15 @@ > =20 > __BEGIN_DECLS > =20 > +/* Name of the env variable, which indicates if it is possible to > + adjust time on target machine. */ > +#define SETTIME_ENV_NAME "GLIBC_TEST_ALLOW_TIME_SETTING" > + > /* The following functions call the corresponding libc functions and > terminate the process on error. */ > =20 > void xclock_gettime (clockid_t clock, struct timespec *ts); > +void xclock_settime (clockid_t clock, const struct timespec *ts); > =20 > /* This helper can often simplify tests by avoiding an explicit > variable declaration or allowing that declaration to be const. */ 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_/ONQWsgU_.p.BHMW5+z_M5N_ Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEgAyFJ+N6uu6+XupJAR8vZIA0zr0FAmAasL0ACgkQAR8vZIA0 zr0Tbgf/S8vUJXvYh2lQ366xklVyx4CueOA36sh1okvqjA0JQ2nKaTGcirGym7WS 7t6vppL3jzAy6MZTAadCRRtBPd+sUrPqF0uK3K57b04b0zKhuw4WriUtpYW6uuW9 WzsXg5tRWx1XdqX8ab2L+j28ZuTJb5dXnekMloQj35LmnzZpx4B7EXdjABYPsBEE 3sQHRk7jRBEDWFNL7nf1FQMPdi0D5PP0vUx7Yhc0SKxpcK9Eq3vbE4f1mZ1BM4Kh Xqi2p+xiz7Bv0fl75fIBbRLnKSwMYPpeqy3+7oOFIr2Ke3jibk+FXhE6oR+oVqoJ VbhhhZWWYy3UvsXoD06G4mbWTo/06w== =nJSK -----END PGP SIGNATURE----- --Sig_/ONQWsgU_.p.BHMW5+z_M5N_--