[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#14840: Fwd: basename: a faulty warning 'extra operand --test-name' i
From: |
Stefano Lattarini |
Subject: |
bug#14840: Fwd: basename: a faulty warning 'extra operand --test-name' in tests causes test-driver to fail |
Date: |
Sat, 13 Jul 2013 23:51:12 +0100 |
severity 14840 minor
tags 14840 + patch
close 14840
stop
Hi Vasiliy, thanks for the report.
On 07/11/2013 04:10 PM, Vasiliy wrote:
> Dear AutoMake Team,
>
> I have tracked down a problem with 'test-driver'. Look at that:
>
> $ gdb --args /usr/bin/sh /usr/share/automake-1.14/test-driver
> GNU gdb (GDB) 7.6.50.20130320-cvs
> Copyright (C) 2013 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. Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "x86_64-unknown-cygwin".
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>...
> Reading symbols from /usr/bin/sh...Reading symbols from
> /usr/lib/debug/usr/bin/sh.exe.dbg...done.
> done.
> (gdb) run
> Starting program: /usr/bin/sh /usr/share/automake-1.14/test-driver
> [New Thread 9900.0xc10]
> [New Thread 9900.0x1bec]
> [New Thread 9900.0xe38]
> /usr/share/automake-1.14/test-driver: line 95: $log_file: ambiguous redirect
> FAIL:
> /usr/share/automake-1.14/test-driver: line 114: $trs_file: ambiguous redirect
> /usr/share/automake-1.14/test-driver: line 115: $trs_file: ambiguous redirect
> /usr/share/automake-1.14/test-driver: line 116: $trs_file: ambiguous redirect
> /usr/share/automake-1.14/test-driver: line 117: $trs_file: ambiguous redirect
> [Inferior 1 (process 9900) exited with code 01]
> (gdb) quit
>
That's because the test-driver script didn't properly check whether it
has received a correct command line (there hasn't been any pressing
need for such a check so far, since 'test-driver' is an internal script
only, and not meant to be used outside the Automake-generated makefiles).
Still, this limitation is easy to fix, and now that you have noticed and
reported it, I see no reason not to do so. The attached patch should
take care of that.
> $ gdb --args /usr/bin/sh /usr/share/automake-1.14/test-driver --log-file=/tmp
>
The use of "=" to specify the argument of a long option is not supported.
This is not a big deal IMHO, since as I said 'test-driver' is not meant
to be used directly from the command line or by third-party scripts;
but I wouldn't reject a patch to improve the situation, if somebody
wants to submit it ;-)
> GNU gdb (GDB) 7.6.50.20130320-cvs
> Copyright (C) 2013 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. Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "x86_64-unknown-cygwin".
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>...
> Reading symbols from /usr/bin/sh...Reading symbols from
> /usr/lib/debug/usr/bin/sh.exe.dbg...done.
> done.
> (gdb) run
> Starting program: /usr/bin/sh /usr/share/automake-1.14/test-driver
> --log-file=/tmp
> [New Thread 2164.0x164c]
> [New Thread 2164.0x24a4]
> [New Thread 2164.0x2550]
> /usr/share/automake-1.14/test-driver: invalid option: '--log-file=/tmp'
> [New Thread 2164.0x19d4]
> Usage:
> test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
> [--expect-failure={yes|no}] [--color-tests={yes|no}]
> [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT
> The '--test-name', '--log-file' and '--trs-file' options are mandatory.
>
> So, there is a problem with 'test-driver' either because a testsuite
> may not provide --test-name=NAME or because --log-file=/tmp or
> --log-file=/tmp/delme is wrongly considered an invalid option. It
> applies to automake 1.13 as well.
>
Again, please note that the 'test-driver' script is only meant to
be used internally by the automake-generated testsuite harnesses,
and not by third-party projects. Are you trying to use the script
in such a project. If yes, why?
> If so, it fails dramatically with messages like this:
> ...<some_software>/./build-aux/test-driver: line 95: <PID>
> Segmentation fault (core dumped) "$@" > $log_file 2>&1
>
> Could AutoMake Developers change this behavior, or,
> at least, make omitting --test-name not so critical?
>
Done :-)
> Best regards,
> Vasiliy
>
BTW, might ask you your complete name if that's OK with you?
So that I'll be able to add you to the THANKS file.
Thanks,
Stefano
0001-test-harness-improve-catching-of-usage-errors-in-scr.patch
Description: Text Data