[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: executable wrapper on mingw mangles arguments
From: |
Ralf Wildenhues |
Subject: |
Re: executable wrapper on mingw mangles arguments |
Date: |
Sun, 16 Nov 2008 18:29:49 +0100 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
Hi Bruno,
* Bruno Haible wrote on Fri, Nov 14, 2008 at 12:47:44PM CET:
> Find attached the resulting logs (stdout+stderr, and
> tests/testsuite.dir/36/testsuite.log).
>
> The test passes. But it also passes when I comment out the line
> newargv = prepare_spawn (newargv);
> in ltmain.sh and do a "make clean; make": The output of
> make check-local TESTSUITEFLAGS='-v -d -x -k execute'
> is then exactly the same. This indicates that the test is not actually
> checking against the bug whose fix is prepare_spawn.
D'oh. I don't know what got me when writing that.
Sorry, and thanks for the feedback,
Ralf
Fix execute mode test to actually expose cwrapper failures.
* tests/execute-mode.at (execute mode): Actually also test the
cwrapper on the arguments.
Report by Bruno Haible.
diff --git a/tests/execute-mode.at b/tests/execute-mode.at
index acbe081..a019e8e 100644
--- a/tests/execute-mode.at
+++ b/tests/execute-mode.at
@@ -119,7 +119,7 @@ AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o
liba.la -rpath $libdir li
[], [ignore], [ignore])
AT_CHECK([$CC $CPPFLAGS $CFLAGS -c main.c],
[], [ignore], [ignore])
-AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main main.$OBJEXT
liba.la],
+AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT
main.$OBJEXT liba.la],
[], [ignore], [ignore])
# end of preparatory blurb.
@@ -168,6 +168,9 @@ AT_CHECK([$LIBTOOL --mode=execute ./foo lt-wrapper "arg
with special chars: \$!
[], [./lt-real
arg with special chars: $!&*`'()
])
+AT_CHECK([$LIBTOOL --mode=execute ./main$EXEEXT "arg with special chars:
\$!&*\`'()"],
+ [], [stdout])
+AT_CHECK([$FGREP 'arg with special chars: $!&*`'\''()' stdout], [], [ignore])
# We always pair two args. The first one is never the empty string.
arg1=
@@ -199,6 +202,11 @@ do
AT_CHECK([$FGREP "$arg1" stdout], [], [ignore])
AT_CHECK([$FGREP "$arg2" stdout], [], [ignore])
AT_CHECK([test `sed -n '/^abc$/,/^xyz$/p' stdout | wc -l` -eq 4])
+ AT_CHECK([$LIBTOOL --mode=execute ./main$EXEEXT abc "$arg1" "$arg2" xyz],
[], [stdout])
+ AT_CHECK([$FGREP "$arg1" stdout], [], [ignore])
+ AT_CHECK([$FGREP "$arg2" stdout], [], [ignore])
+ # Do not match EOL here, cross setups may have an extra \r here.
+ AT_CHECK([test `sed -n '/^abc/,/^xyz/p' stdout | wc -l` -eq 4])
arg1=
done