init.sh: accommodate shells for which 1>&$stderr_fileno_ fails
authorJim Meyering <meyering@redhat.com>
Mon, 13 Jun 2011 10:07:14 +0000 (12:07 +0200)
committerJim Meyering <meyering@redhat.com>
Mon, 13 Jun 2011 10:42:18 +0000 (12:42 +0200)
* tests/init.sh (warn_): Use eval to work around a bug in some shells,
like those of Solaris 10 and HP-UX 11.11.
Improved by Stefano Lattarini.

tests/init.sh

index 14f2e26..25850af 100644 (file)
@@ -74,7 +74,7 @@ Exit () { set +e; (exit $1); exit $1; }
 # the reason for skip/failure to console, rather than to the .log files.
 : ${stderr_fileno_=2}
 
-warn_ () { echo "$@" 1>&$stderr_fileno_; }
+warn_ () { eval 'echo "$@" 1>&'"$stderr_fileno_"; }
 fail_ () { warn_ "$ME_: failed test: $@"; Exit 1; }
 skip_ () { warn_ "$ME_: skipped test: $@"; Exit 77; }
 framework_failure_ () { warn_ "$ME_: set-up failure: $@"; Exit 99; }