GNU bug report logs -
#8846
coreutils-8.12 on HP-UX 11.31: 3 of 365 tests failed
Previous Next
Reported by: Bruno Haible <bruno <at> clisp.org>
Date: Mon, 13 Jun 2011 09:17:01 UTC
Severity: normal
Tags: moreinfo
Done: Jim Meyering <jim <at> meyering.net>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Hello Jim.
Just a minor nit, since your fix will have to be ported to automake's
`tests/defs' too ...
On Monday 13 June 2011, Jim Meyering wrote:
> Bruno Haible wrote:
> > On HP-UX 11.31, built with cc, coreutils-8.12 gives 3 test suite failures:
> >
> > FAIL: misc/printf-surprise (exit: 1)
> > FAIL: dd/nocache (exit: 1)
> > FAIL: du/inaccessible-cwd (exit: 1)
> >
> > Find attached the log file.
> >
> ...
> > FAIL: misc/printf-surprise (exit: 1)
> > ====================================
> >
> > ./init.sh: line 77: 1: Bad file number
> > printf (GNU coreutils) 8.12
> > Copyright (C) 2011 Free Software Foundation, Inc.
> > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
> > This is free software: you are free to change and redistribute it.
> > There is NO WARRANTY, to the extent permitted by law.
> ...
>
> Hi Bruno
>
> Thank you for the testing and report.
> That "bad file number" error comes from this code in init.sh:
>
> : ${stderr_fileno_=2}
> warn_ () { echo "$@" 1>&$stderr_fileno_; }
>
> Because of that, the log contains less information than usual.
> If you can easily apply this patch and rerun the failing tests,
> I'd appreciate it. It should avoid the error and let us see
> more details about what is failing.
>
>
> From 25e7bded3f2abff58540b0fcead2ba110d344bb0 Mon Sep 17 00:00:00 2001
> From: Jim Meyering <meyering <at> redhat.com>
> Date: Mon, 13 Jun 2011 12:07:14 +0200
> Subject: [PATCH] init.sh: accommodate shells for which 1>&$stderr_fileno_
> fails
>
> * tests/init.sh (warn_): Use eval to work around a bug in some shells,
> like those of Solaris 10 and HP-UX 11.11.
> ---
> tests/init.sh | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/tests/init.sh b/tests/init.sh
> index 14f2e26..7a701f6 100644
> --- a/tests/init.sh
> +++ b/tests/init.sh
> @@ -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_"; }
>
Wouldn't it be simpler, and potentially more correct, to use simply:
warn_ () { eval 'echo "$@" 1>&'"$stderr_fileno_"; }
With your new implementation, I see this on Debian with bash and dash:
$ stderr_fileno_=2; warn_ () { eval 'echo "'"$@"'" 1>&'"$stderr_fileno_"; }
$ $ warn_ '$HOME'
/home/stefano
which is not intended behaviour IMHO.
> fail_ () { warn_ "$ME_: failed test: $@"; Exit 1; }
> skip_ () { warn_ "$ME_: skipped test: $@"; Exit 77; }
> framework_failure_ () { warn_ "$ME_: set-up failure: $@"; Exit 99; }
> --
> 1.7.6.rc0.293.g40857
>
>
Regards,
Stefano
This bug report was last modified 13 years and 347 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.