libtool-patches
[Top][All Lists]
Advanced

[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
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]