Don't require test wrappers to preserve environment variables, use more consistent environment

Message ID 87r42r8c7r.fsf@igel.home
State Committed
Headers

Commit Message

Andreas Schwab June 14, 2014, 8:31 p.m. UTC
  "Joseph S. Myers" <joseph@codesourcery.com> writes:

> diff --git a/scripts/cross-test-ssh.sh b/scripts/cross-test-ssh.sh
> index 405ae99..f2a80a0 100755
> --- a/scripts/cross-test-ssh.sh
> +++ b/scripts/cross-test-ssh.sh
> @@ -21,17 +21,17 @@
>  # Run with --help flag to get more detailed help.
>  
>  progname="$(basename $0)"
> -env_blacklist='HOME LOGNAME MAIL PATH SHELL SHLVL SSH_CLIENT SSH_CONNECTION
> -USER TERM TERMCAP PWD'
>  
>  usage="usage: ${progname} [--ssh SSH] HOST COMMAND ..."
>  help="Run a glibc test COMMAND on the remote machine HOST, via ssh,
> -passing environment variables, preserving the current working directory,
> -and respecting quoting.
> +preserving the current working directory, and respecting quoting.
>  
>  If the '--ssh SSH' flag is present, use SSH as the SSH command,
>  instead of ordinary 'ssh'.
>  
> +If the '--timeoutfactor FACTOR' flag is present, set TIMEOUTFACTOR on
> +the remote machine to the specified FACTOR.
> +
>  To use this to run glibc tests, invoke the tests as follows:
>  
>    $ make test-wrapper='ABSPATH/cross-test-ssh.sh HOST' tests
> @@ -58,13 +58,10 @@ ${progname} itself is run in on the build machine.
>  The command and arguments are passed to the remote host in a way that
>  avoids any further shell substitution or expansion, on the assumption
>  that the shell on the build machine has already done them
> -appropriately.
> -
> -${progname} propagates the values all environment variables through to
> -the remote target, except the following:
> -${env_blacklist}"
> +appropriately."
>  
>  ssh='ssh'
> +timeoutfactor=
>  while [ $# -gt 0 ]; do
>    case "$1" in
>  
> @@ -76,6 +73,14 @@ while [ $# -gt 0 ]; do
>        ssh="$1"
>        ;;
>  
> +    "--timeoutfactor")
> +      shift
> +      if [ $# -lt 1 ]; then
> +        break
> +      fi
> +      timeoutfactor="$1"
> +      ;;
> +

This breaks backward compatibility.

Andreas.

	* scripts/cross-test-ssh.sh (timeoutfactor): Default to
	$TIMEOUTFACTOR.
  

Comments

Joseph Myers June 15, 2014, 3 p.m. UTC | #1
On Sat, 14 Jun 2014, Andreas Schwab wrote:

> This breaks backward compatibility.

Yes, that's my understanding of what was requested in 
<https://sourceware.org/ml/libc-alpha/2014-05/msg00715.html>: "a simple 
rule that no magic environment bits from the build host implicitly affect 
the test host".
  
Andreas Schwab June 15, 2014, 3:37 p.m. UTC | #2
"Joseph S. Myers" <joseph@codesourcery.com> writes:

> On Sat, 14 Jun 2014, Andreas Schwab wrote:
>
>> This breaks backward compatibility.
>
> Yes, that's my understanding of what was requested in 
> <https://sourceware.org/ml/libc-alpha/2014-05/msg00715.html>: "a simple 
> rule that no magic environment bits from the build host implicitly affect 
> the test host".

TIMEOUTFACTOR is not magic.

Andreas.
  

Patch

diff --git a/scripts/cross-test-ssh.sh b/scripts/cross-test-ssh.sh
index f2a80a0..df367b8 100755
--- a/scripts/cross-test-ssh.sh
+++ b/scripts/cross-test-ssh.sh
@@ -61,7 +61,7 @@  that the shell on the build machine has already done them
 appropriately."
 
 ssh='ssh'
-timeoutfactor=
+timeoutfactor=$TIMEOUTFACTOR
 while [ $# -gt 0 ]; do
   case "$1" in