Message ID | 20210118160336.2553-1-lukma@denx.de |
---|---|
State | Superseded |
Headers |
Return-Path: <libc-alpha-bounces@sourceware.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A509E3836C03; Mon, 18 Jan 2021 16:04:08 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-out.m-online.net (mail-out.m-online.net [212.18.0.10]) by sourceware.org (Postfix) with ESMTPS id 632CF3842438 for <libc-alpha@sourceware.org>; Mon, 18 Jan 2021 16:04:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 632CF3842438 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 4DKGmw3fyGz1s46J; Mon, 18 Jan 2021 17:04:00 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4DKGmw2T4vz1tYWV; Mon, 18 Jan 2021 17:04:00 +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 wjzqXSmFYoZ9; Mon, 18 Jan 2021 17:03:58 +0100 (CET) X-Auth-Info: Ug/gh6bBMis/4RtJGwiZJE3MRuCExNEx5lZ/HDIFxLw= Received: from localhost.localdomain (89-64-25-12.dynamic.chello.pl [89.64.25.12]) (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; Mon, 18 Jan 2021 17:03:58 +0100 (CET) From: Lukasz Majewski <lukma@denx.de> To: Joseph Myers <joseph@codesourcery.com>, Adhemerval Zanella <adhemerval.zanella@linaro.org>, Florian Weimer <fweimer@redhat.com> Subject: [PATCH 1/3] tst: Extend cross-test-ssh.sh to specify if target date can be altered Date: Mon, 18 Jan 2021 17:03:34 +0100 Message-Id: <20210118160336.2553-1-lukma@denx.de> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-11.2 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, 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 <libc-alpha.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/libc-alpha>, <mailto:libc-alpha-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/libc-alpha/> List-Post: <mailto:libc-alpha@sourceware.org> List-Help: <mailto:libc-alpha-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/libc-alpha>, <mailto:libc-alpha-request@sourceware.org?subject=subscribe> Cc: GNU C Library <libc-alpha@sourceware.org>, Florian Weimer <fw@deneb.enyo.de>, Alistair Francis <alistair.francis@wdc.com> Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" <libc-alpha-bounces@sourceware.org> |
Series |
[1/3] tst: Extend cross-test-ssh.sh to specify if target date can be altered
|
|
Commit Message
Lukasz Majewski
Jan. 18, 2021, 4:03 p.m. UTC
This code adds new flag - '--allow-time-setting' to cross-test-ssh.sh script to indicate if it is allowed to alter the date on the system on which tests are executed. This change is supposed to be used with test systems, which use virtual machines for testing. The GLIBC_TEST_ALLOW_TIME_SETTING env variable is exported to the remote environment on which the eligible test is run and brings no functional change when it is not. --- scripts/cross-test-ssh.sh | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-)
Comments
Dear Community, > This code adds new flag - '--allow-time-setting' to cross-test-ssh.sh > script to indicate if it is allowed to alter the date on the system > on which tests are executed. This change is supposed to be used with > test systems, which use virtual machines for testing. > > The GLIBC_TEST_ALLOW_TIME_SETTING env variable is exported to the > remote environment on which the eligible test is run and brings no > functional change when it is not. Do you have any more comments regarding this patch? It is crucial one as it allows setting time on ARM VM, which facilitates the Y2038 validation process. > --- > scripts/cross-test-ssh.sh | 17 ++++++++++++++++- > 1 file changed, 16 insertions(+), 1 deletion(-) > > diff --git a/scripts/cross-test-ssh.sh b/scripts/cross-test-ssh.sh > index 6d8fbcdfd2..1d49978197 100755 > --- a/scripts/cross-test-ssh.sh > +++ b/scripts/cross-test-ssh.sh > @@ -22,7 +22,7 @@ > > progname="$(basename $0)" > > -usage="usage: ${progname} [--ssh SSH] HOST COMMAND ..." > +usage="usage: ${progname} [--ssh SSH][--allow-time-setting] HOST > COMMAND ..." help="Run a glibc test COMMAND on the remote machine > HOST, via ssh, preserving the current working directory, and > respecting quoting. > @@ -32,6 +32,11 @@ instead of ordinary 'ssh'. > If the '--timeoutfactor FACTOR' flag is present, set TIMEOUTFACTOR on > the remote machine to the specified FACTOR. > > +If the '--allow-time-setting' flag is present, set > +GLIBC_TEST_ALLOW_TIME_SETTING on the remote machine to inform that > +time can be safely adjusted when e.g. tests are run in a virtual > +machine. > + > To use this to run glibc tests, invoke the tests as follows: > > $ make test-wrapper='ABSPATH/cross-test-ssh.sh HOST' tests > @@ -81,6 +86,10 @@ while [ $# -gt 0 ]; do > timeoutfactor="$1" > ;; > > + "--allow-time-setting") > + settimeallowed="1" > + ;; > + > "--help") > echo "$usage" > echo "$help" > @@ -127,6 +136,12 @@ if [ "$timeoutfactor" ]; then > ${command}" > fi > > +# Add command to set the info that time on target can be adjusted, > +# if required. > +if [ "$settimeallowed" ]; then > + command="export GLIBC_TEST_ALLOW_TIME_SETTING=1 ${command}" > +fi > + > # HOST's sshd simply concatenates its arguments with spaces and > # passes them to some shell. We want to force the use of /bin/sh, > # so we need to re-quote the whole command to ensure it appears as 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
Dear Community, > This code adds new flag - '--allow-time-setting' to cross-test-ssh.sh > script to indicate if it is allowed to alter the date on the system > on which tests are executed. This change is supposed to be used with > test systems, which use virtual machines for testing. > > The GLIBC_TEST_ALLOW_TIME_SETTING env variable is exported to the > remote environment on which the eligible test is run and brings no > functional change when it is not. Gentle ping on this patch. It provides support for setting time in the VM target on which glibc tests are executed (for example armv7a). > --- > scripts/cross-test-ssh.sh | 17 ++++++++++++++++- > 1 file changed, 16 insertions(+), 1 deletion(-) > > diff --git a/scripts/cross-test-ssh.sh b/scripts/cross-test-ssh.sh > index 6d8fbcdfd2..1d49978197 100755 > --- a/scripts/cross-test-ssh.sh > +++ b/scripts/cross-test-ssh.sh > @@ -22,7 +22,7 @@ > > progname="$(basename $0)" > > -usage="usage: ${progname} [--ssh SSH] HOST COMMAND ..." > +usage="usage: ${progname} [--ssh SSH][--allow-time-setting] HOST > COMMAND ..." help="Run a glibc test COMMAND on the remote machine > HOST, via ssh, preserving the current working directory, and > respecting quoting. > @@ -32,6 +32,11 @@ instead of ordinary 'ssh'. > If the '--timeoutfactor FACTOR' flag is present, set TIMEOUTFACTOR on > the remote machine to the specified FACTOR. > > +If the '--allow-time-setting' flag is present, set > +GLIBC_TEST_ALLOW_TIME_SETTING on the remote machine to inform that > +time can be safely adjusted when e.g. tests are run in a virtual > +machine. > + > To use this to run glibc tests, invoke the tests as follows: > > $ make test-wrapper='ABSPATH/cross-test-ssh.sh HOST' tests > @@ -81,6 +86,10 @@ while [ $# -gt 0 ]; do > timeoutfactor="$1" > ;; > > + "--allow-time-setting") > + settimeallowed="1" > + ;; > + > "--help") > echo "$usage" > echo "$help" > @@ -127,6 +136,12 @@ if [ "$timeoutfactor" ]; then > ${command}" > fi > > +# Add command to set the info that time on target can be adjusted, > +# if required. > +if [ "$settimeallowed" ]; then > + command="export GLIBC_TEST_ALLOW_TIME_SETTING=1 ${command}" > +fi > + > # HOST's sshd simply concatenates its arguments with spaces and > # passes them to some shell. We want to force the use of /bin/sh, > # so we need to re-quote the whole command to ensure it appears as 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
Should there be some way to serialize all tests that might change the target date, so that no such test runs in parallel with any other test, to avoid such a test causing another time-related test to fail if they run in parallel? Or is the intent that such tests only be run in serial testing? I think this sort of thing, regarding how to run the tests involving changing the target date, should be documented in install.texi.
Hi Joseph, > Should there be some way to serialize all tests that might change the > target date, so that no such test runs in parallel with any other > test, to avoid such a test causing another time-related test to fail > if they run in parallel? Or is the intent that such tests only be > run in serial testing? > It would be best to have those tests serialized. In that way the date would be changed properly. This feature is only provided to work with cross-test-ssh.sh script, so it seems like the serialization is done by this script execution. The idea is to set time (and restore it) only in do_test() function. > I think this sort of thing, regarding how to run the tests involving > changing the target date, should be documented in install.texi. > Ok, I will add proper entry into install.texi. 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
On Thu, 4 Feb 2021, Lukasz Majewski wrote: > This feature is only provided to work with cross-test-ssh.sh script, so > it seems like the serialization is done by this script execution. The script does not serialize execution. It works fine to do parallel testing with cross-test-ssh.sh, if the system the tests are run on can handle the load of parallel test execution. (It might be harder to make test compilation run in parallel but test execution in series, although that makes sense even without cross testing in the case of the nptl/ directory.)
Hi Joseph, > On Thu, 4 Feb 2021, Lukasz Majewski wrote: > > > This feature is only provided to work with cross-test-ssh.sh > > script, so it seems like the serialization is done by this script > > execution. > > The script does not serialize execution. It works fine to do > parallel testing with cross-test-ssh.sh, if the system the tests are > run on can handle the load of parallel test execution. (It might be > harder to make test compilation run in parallel but test execution in > series, although that makes sense even without cross testing in the > case of the nptl/ directory.) > Ok, I will investigate this and try to provide serialization. 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
diff --git a/scripts/cross-test-ssh.sh b/scripts/cross-test-ssh.sh index 6d8fbcdfd2..1d49978197 100755 --- a/scripts/cross-test-ssh.sh +++ b/scripts/cross-test-ssh.sh @@ -22,7 +22,7 @@ progname="$(basename $0)" -usage="usage: ${progname} [--ssh SSH] HOST COMMAND ..." +usage="usage: ${progname} [--ssh SSH][--allow-time-setting] HOST COMMAND ..." help="Run a glibc test COMMAND on the remote machine HOST, via ssh, preserving the current working directory, and respecting quoting. @@ -32,6 +32,11 @@ instead of ordinary 'ssh'. If the '--timeoutfactor FACTOR' flag is present, set TIMEOUTFACTOR on the remote machine to the specified FACTOR. +If the '--allow-time-setting' flag is present, set +GLIBC_TEST_ALLOW_TIME_SETTING on the remote machine to inform that +time can be safely adjusted when e.g. tests are run in a virtual +machine. + To use this to run glibc tests, invoke the tests as follows: $ make test-wrapper='ABSPATH/cross-test-ssh.sh HOST' tests @@ -81,6 +86,10 @@ while [ $# -gt 0 ]; do timeoutfactor="$1" ;; + "--allow-time-setting") + settimeallowed="1" + ;; + "--help") echo "$usage" echo "$help" @@ -127,6 +136,12 @@ if [ "$timeoutfactor" ]; then ${command}" fi +# Add command to set the info that time on target can be adjusted, +# if required. +if [ "$settimeallowed" ]; then + command="export GLIBC_TEST_ALLOW_TIME_SETTING=1 ${command}" +fi + # HOST's sshd simply concatenates its arguments with spaces and # passes them to some shell. We want to force the use of /bin/sh, # so we need to re-quote the whole command to ensure it appears as