automake-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Automake-commit] [SCM] GNU Automake branch, ylwrap-refactor, updated. v


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, ylwrap-refactor, updated. v1.11-486-g9de602a
Date: Sun, 03 Jul 2011 18:09:34 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=9de602a89be7a3d9acbc5edb696cae96e6463e6f

The branch, ylwrap-refactor has been updated
       via  9de602a89be7a3d9acbc5edb696cae96e6463e6f (commit)
      from  42350d8c60af9b137aaa98211fe5db1eb9658fd2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 9de602a89be7a3d9acbc5edb696cae96e6463e6f
Author: Stefano Lattarini <address@hidden>
Date:   Tue Jun 28 23:20:17 2011 +0200

    yacc: fix bug with non-suffix rules for C++ yacc
    
    Non-suffix rules aren't allowed to use the %EXT% substitution,
    but the yacc rules were doing so; for implementation reasons,
    this problems only manifested itself when Yacc was used with C++
    and with different extensions (e.g., `y++' and `yxx') in the
    same Makefile.am.
    
    Bug introduced in commit v1.11-402-g834ed72, and exposed by
    failures in `yacc-cxx.test'.
    
    * lib/ylwrap: Automatically extract the expected C/C++ extension
    from that of the Yacc file, instead of having it passed as a
    separate argument.  Modify calling convention accordingly.
    * lib/am/yacc.am: Adjust call to `ylwrap' not to pass the `%EXT%'
    argument
    * tests/ylwrap-chdir-back-fail.test: Adjust.
    * tests/ylwrap-cleanup-fail.test: Likewise.
    * tests/ylwrap-extra-args.test: Likewise.
    * tests/ylwrap-fail.test: Likewise.
    * tests/ylwrap-output-rename.test: Likewise.
    * tests/ylwrap-path-handling.test: Likewise.
    * tests/ylwrap-pwd-fail.test: Likewise.
    * tests/ylwrap-usage-fail.test: Likewise.
    * tests/ylwrap-yacc-dos.test: Likewise.
    * tests/ylwrap-yacc-ext.test: Likewise.
    * tests/ylwrap-yacc-parallel.test: Likewise.
    * tests/ylwrap-signals.test: Likewise, and fix a couple of minor
    buglets.
    * tests/yacc-basic.test: Improve debugging output, especially in
    case of failure.
    * tests/yacc-cxx.test: Likewise.
    * tests/yacc-d-basic.test: Likewise.
    * tests/yacc-d-cxx.test: Likewise.
    * tests/yacc-clean.test: Likewise.
    * tests/yacc-clean-cxx.test: Likewise.
    * tests/yacc-deleted-headers.test: Likewise.
    * tests/yacc-depend.test: Likewise.
    * tests/yacc-line.test: Likewise.
    * tests/yacc-mix-c-cxx.test: Likewise.
    * tests/yacc-pr204.test: Likewise.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                         |   42 +++++++++++++++++++++++++++++++++++++
 lib/am/yacc.am                    |    2 +-
 lib/ylwrap                        |   22 ++++++++----------
 tests/yacc-basic.test             |    2 +-
 tests/yacc-clean-cxx.test         |    2 +-
 tests/yacc-clean.test             |    2 +-
 tests/yacc-cxx.test               |    3 +-
 tests/yacc-d-basic.test           |    3 +-
 tests/yacc-d-cxx.test             |    3 +-
 tests/yacc-deleted-headers.test   |   28 +++++++++++++++--------
 tests/yacc-line.test              |    5 ++-
 tests/yacc-mix-c-cxx.test         |   17 +++++++++-----
 tests/yacc-pr204.test             |    1 +
 tests/yacc-weirdnames.test        |   27 +++++++++++++++++++++--
 tests/yaccvpath.test              |    4 +-
 tests/ylwrap-chdir-back-fail.test |    2 +-
 tests/ylwrap-cleanup-fail.test    |    2 +-
 tests/ylwrap-extra-args.test      |    2 +-
 tests/ylwrap-fail.test            |    6 ++--
 tests/ylwrap-output-rename.test   |   10 ++++----
 tests/ylwrap-path-handling.test   |    6 ++--
 tests/ylwrap-pwd-fail.test        |    2 +-
 tests/ylwrap-signals.test         |    8 +++---
 tests/ylwrap-usage-fail.test      |   12 +++++-----
 tests/ylwrap-yacc-dos.test        |    2 +-
 tests/ylwrap-yacc-ext.test        |   14 +++++++-----
 tests/ylwrap-yacc-parallel.test   |    2 +-
 27 files changed, 156 insertions(+), 75 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index c98d085..f5e74a5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,45 @@
+2011-07-03   Stefano Lattarini  <address@hidden>
+
+       yacc: fix bug with non-suffix rules for C++ yacc
+       Non-suffix rules aren't allowed to use the %EXT% substitution,
+       but the yacc rules were doing so; for implementation reasons,
+       this problems only manifested itself when Yacc was used with C++
+       and with different extensions (e.g., `y++' and `yxx') in the
+       same Makefile.am.
+       Bug introduced in commit v1.11-402-g834ed72, and exposed by
+       failures in `yacc-cxx.test'.
+       * lib/ylwrap: Automatically extract the expected C/C++ extension
+       from that of the Yacc file, instead of having it passed as a
+       separate argument.  Modify calling convention accordingly.
+       * lib/am/yacc.am: Adjust call to `ylwrap' not to pass the `%EXT%'
+       argument
+       * tests/yacc-weirdnames.test: Extend.
+       * tests/ylwrap-chdir-back-fail.test: Adjust.
+       * tests/ylwrap-cleanup-fail.test: Likewise.
+       * tests/ylwrap-extra-args.test: Likewise.
+       * tests/ylwrap-fail.test: Likewise.
+       * tests/ylwrap-output-rename.test: Likewise.
+       * tests/ylwrap-path-handling.test: Likewise.
+       * tests/ylwrap-pwd-fail.test: Likewise.
+       * tests/ylwrap-usage-fail.test: Likewise.
+       * tests/ylwrap-yacc-dos.test: Likewise.
+       * tests/ylwrap-yacc-ext.test: Likewise.
+       * tests/ylwrap-yacc-parallel.test: Likewise.
+       * tests/ylwrap-signals.test: Likewise, and fix a couple of minor
+       buglets.
+       * tests/yacc-basic.test: Improve debugging output, especially in
+       case of failure.
+       * tests/yacc-cxx.test: Likewise.
+       * tests/yacc-d-basic.test: Likewise.
+       * tests/yacc-d-cxx.test: Likewise.
+       * tests/yacc-clean.test: Likewise.
+       * tests/yacc-clean-cxx.test: Likewise.
+       * tests/yacc-deleted-headers.test: Likewise.
+       * tests/yacc-depend.test: Likewise.
+       * tests/yacc-line.test: Likewise.
+       * tests/yacc-mix-c-cxx.test: Likewise.
+       * tests/yacc-pr204.test: Likewise.
+
 2011-06-28   Stefano Lattarini  <address@hidden>
 
        yacc tests: fix bug in 'yacc-cxx.test'
diff --git a/lib/am/yacc.am b/lib/am/yacc.am
index a255fb2..2298645 100644
--- a/lib/am/yacc.am
+++ b/lib/am/yacc.am
@@ -44,7 +44,7 @@ endif %?FIRST%
 ?GENERIC?      %VERBOSE%$(am__skipyacc) \
 ?!GENERIC?     %VERBOSE% \
 ?!GENERIC??DIST_SOURCE?        $(am__skipyacc) \
-        $(SHELL) $(YLWRAP) --yacc %EXT% \
+        $(SHELL) $(YLWRAP) --yacc \
 ?GENERIC?      %SOURCE% \
 ## For non-suffix rules, we must emulate a VPATH search on %SOURCE%.
 ?!GENERIC?     `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE% \
diff --git a/lib/ylwrap b/lib/ylwrap
index e5d17b1..640729a 100755
--- a/lib/ylwrap
+++ b/lib/ylwrap
@@ -1,7 +1,7 @@
 #! /bin/sh
 # ylwrap - wrapper for lex/yacc invocations.
 
-scriptversion=2011-05-05.12; # UTC
+scriptversion=2011-07-01.18; # UTC
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005,
 # 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
@@ -148,7 +148,7 @@ ylwrap: Wrapper for lex/yacc invocations, renaming files as 
desired.
 Usage:
   ylwrap {--help|--version}
 or:
-  ylwrap --yacc YACC-EXTENSION INPUT [--] PROGRAM [ARGS]...
+  ylwrap --yacc INPUT C-OUTPUT [--] PROGRAM [ARGS]...
 or:
   ylwrap --lex LEX-OUTPUT-ROOT INPUT OUTPUT [--] PROGRAM [ARGS]...
 
@@ -164,14 +164,12 @@ EOF
     wrapped=yacc
     shift
     case $# in
-      0) usage_error "missing yacc extension";;
-      1) usage_error "missing input file";;
-      2) usage_error "missing output file";;
+      0) usage_error "missing input file";;
+      1) usage_error "missing output file";;
     esac
-    y_ext=`expr x"$1" : x'\.\(.*\)'`
-    input=$2
-    output=$3
-    shift 3
+    input=$1
+    output=$2
+    shift 2
     ;;
   --lex)
     wrapped=lex
@@ -250,9 +248,9 @@ input_rx=`quote_for_sed "$input_dir"`
 
 case $wrapped in
   yacc)
-    c_ext=`echo $y_ext | tr 'y' 'c'`
-    h_ext=`echo $y_ext | tr 'y' 'h'`
-    output_stem=`echo "$output" | sed "s/\\\\.$c_ext$//"`
+    output_stem=`echo "$output" | sed "s/\\\\.[^.]*$//"`
+    c_ext=`expr ."$output" : ".*\\\\.\\\\([^.]*\\\\)$"`
+    h_ext=`echo $c_ext | tr 'c' 'h'`
     tempfile_deploy $y_tab_c $output_stem.$c_ext
     # If the `-d' option is not used, we don't want an error when the
     # header file is "missing".  Similarly, if `-v' is not used, we
diff --git a/tests/yacc-basic.test b/tests/yacc-basic.test
index d562b7f..167126c 100755
--- a/tests/yacc-basic.test
+++ b/tests/yacc-basic.test
@@ -59,7 +59,7 @@ $AUTOCONF
 $AUTOMAKE -a
 
 ./configure
-$MAKE
+$MAKE || { ls -l; Exit 1; }
 ls -l
 # The Yacc-derived C sources must be created, and not removed once
 # compiled (i.e., not treated like "intermediate files" in the GNU
diff --git a/tests/yacc-clean-cxx.test b/tests/yacc-clean-cxx.test
index 96ceaf8..6ef80d1 100755
--- a/tests/yacc-clean-cxx.test
+++ b/tests/yacc-clean-cxx.test
@@ -102,7 +102,7 @@ $AUTOMAKE -a
 
 cp config.status config.sav
 
-$MAKE
+$MAKE || { ls -l . sub1 sub2; Exit 1; }
 ls -l . sub1 sub2
 # Sanity checks.
 test -f sub1/parsefoo.cxx
diff --git a/tests/yacc-clean.test b/tests/yacc-clean.test
index bdc8dd0..5754fbc 100755
--- a/tests/yacc-clean.test
+++ b/tests/yacc-clean.test
@@ -91,7 +91,7 @@ $AUTOMAKE -a
 
 cp config.status config.sav
 
-$MAKE
+$MAKE || { ls -l . sub1 sub2; Exit 1; }
 ls -l . sub1 sub2
 # Sanity checks.
 test -f sub1/parse.y
diff --git a/tests/yacc-cxx.test b/tests/yacc-cxx.test
index e4afd95..f9ad5ed 100755
--- a/tests/yacc-cxx.test
+++ b/tests/yacc-cxx.test
@@ -77,7 +77,8 @@ $AUTOMAKE -a
 
 ./configure
 
-$MAKE
+$MAKE || { ls -l; Exit 1; }
+ls -l
 
 # The Yacc-derived C++ sources must be created, and not removed once
 # compiled (i.e., not treated like "intermediate files" in the GNU
diff --git a/tests/yacc-d-basic.test b/tests/yacc-d-basic.test
index 17750cd..4b9ceb7 100755
--- a/tests/yacc-d-basic.test
+++ b/tests/yacc-d-basic.test
@@ -100,7 +100,8 @@ $AUTOMAKE baz/Makefile
 
 ./configure
 
-$MAKE
+$MAKE || { ls -l; Exit 1; }
+ls -l
 
 test -f foo/parse.c
 test -f foo/parse.h
diff --git a/tests/yacc-d-cxx.test b/tests/yacc-d-cxx.test
index 599b6ca..41a26e5 100755
--- a/tests/yacc-d-cxx.test
+++ b/tests/yacc-d-cxx.test
@@ -152,8 +152,9 @@ write_main maude-parse.hxx > qux/main.cxx
 
 ./configure
 
-$MAKE
+st=0; $MAKE || st=$?
 ls -l . foo bar baz baz/sub qux # For debugging.
+test $st -eq 0 || Exit 1
 
 test -f foo/parse.cc
 test -f foo/parse.hh
diff --git a/tests/yacc-deleted-headers.test b/tests/yacc-deleted-headers.test
index 6d6a0a1..9157140 100755
--- a/tests/yacc-deleted-headers.test
+++ b/tests/yacc-deleted-headers.test
@@ -98,29 +98,37 @@ $ACLOCAL
 $AUTOCONF
 $AUTOMAKE -a
 
+do_make ()
+{
+  st=0
+  $MAKE $* || st=$?
+  ls -l
+  test $st -eq 0 || Exit $st
+}
+
 ./configure
-$MAKE
+do_make
 
 headers='parse1.h p2-parse2.h parse3.h parse4.h'
 
 # Check that we remake only the necessary headers.
 
 rm -f $headers
-$MAKE parse1.h
+do_make parse1.h
 test -f parse1.h
 test ! -r p2-parse2.h
 test ! -r parse3.h
 test ! -r parse4.h
 
 rm -f $headers
-$MAKE p2-parse2.h
+do_make p2-parse2.h
 test ! -r parse1.h
 test -f p2-parse2.h
 test ! -r parse3.h
 test ! -r parse4.h
 
 rm -f $headers
-$MAKE parse3.h
+do_make parse3.h
 test ! -r parse1.h
 test ! -r p2-parse2.h
 test -f parse3.h
@@ -128,15 +136,15 @@ test ! -r parse4.h
 # Since we declared parse3.h into $(p3_SOURCES), make should be
 # able to rebuild it automatically before remaking `p3'.
 rm -f $headers
-$MAKE clean-p3
+do_make clean-p3
 test ! -f parse3.h # Sanity check.
-$MAKE build-p3
+do_make build-p3
 test -f parse3.h
 
-$MAKE
+do_make
 
 rm -f $headers
-$MAKE parse4.h
+do_make parse4.h
 test ! -r parse1.h
 test ! -r p2-parse2.h
 test ! -r parse3.h
@@ -145,7 +153,7 @@ test -f parse4.h
 # Now remake all the headers together.
 
 rm -f $headers
-$MAKE $headers
+do_make $headers
 test -f parse1.h
 test -f p2-parse2.h
 test -f parse3.h
@@ -154,7 +162,7 @@ test -f parse4.h
 # Most headers should be remade by "make all".
 
 rm -f $headers
-$MAKE all
+do_make all
 test -f parse1.h
 test -f p2-parse2.h
 test -f parse3.h
diff --git a/tests/yacc-line.test b/tests/yacc-line.test
index f760b72..eef5d7a 100755
--- a/tests/yacc-line.test
+++ b/tests/yacc-line.test
@@ -93,11 +93,12 @@ for vpath in : false; do
   fi
 
   $srcdir/configure
-  $MAKE
-
+  st=0
+  $MAKE || st=$?
   # For debugging,
   ls -l . sub sub/dir
   $FGREP '.y' $c_outputs
+  test $st -eq 0 || Exit $st
 
   # Adjusted "#line" should not contain reference to the builddir.
   $EGREP '#.*line.*(build|\.\.).*\.y' $c_outputs && Exit 1
diff --git a/tests/yacc-mix-c-cxx.test b/tests/yacc-mix-c-cxx.test
index 4765b5c..bc49380 100755
--- a/tests/yacc-mix-c-cxx.test
+++ b/tests/yacc-mix-c-cxx.test
@@ -171,10 +171,17 @@ for try in 0 1; do
     Exit 99
   fi
 
+  do_make ()
+  {
+    st=0
+    $run_make $* || st=$?
+    $debug_info
+    test $st -eq 0 || Exit $?
+  }
+
   $srcdir/configure
 
-  $run_make
-  $debug_info
+  do_make
 
   test -f p.c
   test -f p.h
@@ -192,13 +199,11 @@ for try in 0 1; do
 
   # Minimal checks about recovering from header removal.
   rm -f p.h parse.hh parse3.hxx
-  $run_make p.h parse.hh
-  $debug_info
+  do_make p.h parse.hh
   test -f p.h
   test -f parse.hh
   test ! -r parse3.hxx
-  $run_make
-  $debug_info
+  do_make
   test -f parse3.hxx
 
   cd $srcdir
diff --git a/tests/yacc-pr204.test b/tests/yacc-pr204.test
index a1c3691..1d62019 100755
--- a/tests/yacc-pr204.test
+++ b/tests/yacc-pr204.test
@@ -42,6 +42,7 @@ PARSE2 = parse2.y
 nodist_foo_SOURCES = parse.y $(PARSE2)
 
 distdirtest: distdir
+       ls -l $(distdir)
        test ! -f $(distdir)/parse.c
        test ! -f $(distdir)/parse.y
        test ! -f $(distdir)/parse.h
diff --git a/tests/yacc-weirdnames.test b/tests/yacc-weirdnames.test
index 8f0424e..626e4e7 100755
--- a/tests/yacc-weirdnames.test
+++ b/tests/yacc-weirdnames.test
@@ -49,8 +49,29 @@ $AUTOMAKE -a
 $EGREP '(\.[ch]|parse)' Makefile.in # For debugging.
 
 # All expected files should be mentioned in the generated Makefile.in.
-for s in $outputs; do
-  $FGREP $s Makefile.in
-done
+for f in $outputs; do $FGREP $f Makefile.in; done
+
+$AUTOCONF
+# Skip the rest of the test in case of missing Yacc or C/C++ compiler.
+./configure || Exit 77
+
+cat > parse.y.y <<'END'
+%{
+int yylex (void) { return 0; }
+void yyerror (const char *s) { return; }
+%}
+%%
+x : 'x' { };
+%%
+int main (void) { return 0; }
+END
+cp parse.y.y parse.s.f..y
+cp parse.y.y parse..5.y++
+cp parse.y.y parse.yxx.yy
+
+$MAKE || { ls -l; Exit 1; }
+ls -l
+# All expected files should be created.
+for f in $outputs; do test -f $f; done
 
 :
diff --git a/tests/yaccvpath.test b/tests/yaccvpath.test
index 3009063..527fc40 100755
--- a/tests/yaccvpath.test
+++ b/tests/yaccvpath.test
@@ -76,8 +76,8 @@ void yyerror (char *s) {}
 fubar : 'f' 'o' 'o' 'b' 'a' 'r' {};
 END
 
-$MAKE
-$MAKE distdir
+$MAKE && $MAKE distdir || { ls -l . $distdir; Exit 1; }
+ls -l . $distdir
 $FGREP fubar $distdir/parse.c
 
 # Now check to make sure that `make dist' will rebuild the parser.
diff --git a/tests/ylwrap-chdir-back-fail.test 
b/tests/ylwrap-chdir-back-fail.test
index 5212880..6a172e3 100755
--- a/tests/ylwrap-chdir-back-fail.test
+++ b/tests/ylwrap-chdir-back-fail.test
@@ -42,7 +42,7 @@ chmod a+x fake-yacc
 
 mkdir foodir
 cd foodir
-$SHELL "$ocwd"/ylwrap --yacc .y "$ocwd"/x.y "$ocwd"/x.c "$ocwd"/fake-yacc \
+$SHELL "$ocwd"/ylwrap --yacc "$ocwd"/x.y "$ocwd"/x.c "$ocwd"/fake-yacc \
   2>"$ocwd"/stderr && { cat "$ocwd"/stderr >&2; Exit 1; }
 cd "$ocwd"
 cat stderr >&2
diff --git a/tests/ylwrap-cleanup-fail.test b/tests/ylwrap-cleanup-fail.test
index 0727c80..a5b3b94 100755
--- a/tests/ylwrap-cleanup-fail.test
+++ b/tests/ylwrap-cleanup-fail.test
@@ -34,7 +34,7 @@ END
 chmod a+x fake-yacc
 
 # ylwrap should return a successful exit status ...
-$SHELL ylwrap --yacc .y foo.y foo.c ./fake-yacc 2>stderr \
+$SHELL ylwrap --yacc foo.y foo.c ./fake-yacc 2>stderr \
   || { cat stderr >&2; Exit 1; }
 cat stderr >&2
 # ... but also give warnings ...
diff --git a/tests/ylwrap-extra-args.test b/tests/ylwrap-extra-args.test
index 465de64..d1859af 100755
--- a/tests/ylwrap-extra-args.test
+++ b/tests/ylwrap-extra-args.test
@@ -38,7 +38,7 @@ manyargs='0 1 2 3 4 5 6 7 8 9 @ : foo bar zardoz 
asd-asd-asd-asd-asd-asd'
 
 mkdir yacc
 cd yacc
-$SHELL -x ../ylwrap --yacc .y foo.y foo.c fake-yacc GrepMe
+$SHELL -x ../ylwrap --yacc foo.y foo.c fake-yacc GrepMe
 cat foo.c
 $FGREP " GrepMe " foo.c
 cd ..
diff --git a/tests/ylwrap-fail.test b/tests/ylwrap-fail.test
index b328153..dc6c5df 100755
--- a/tests/ylwrap-fail.test
+++ b/tests/ylwrap-fail.test
@@ -46,7 +46,7 @@ PATH=`pwd`/bin$PATH_SEPARATOR$PATH; export PATH
 
 mkdir foo
 cd foo
-$SHELL ../ylwrap --yacc .y foo.y foo.c -- fail.sh >../stdout 2>../stderr \
+$SHELL ../ylwrap --yacc foo.y foo.c -- fail.sh >../stdout 2>../stderr \
   && { cat ../stdout; cat ../stderr >&2; Exit 1; }
 cat ../stdout
 cat ../stderr >&2
@@ -69,7 +69,7 @@ cd ..
 
 mkdir baz
 cd baz
-if $SHELL -x ../ylwrap --yacc .yxx foo.yxx foo.cxx -- _NoSuchCommand_; then
+if $SHELL -x ../ylwrap --yacc foo.yxx foo.cxx -- _NoSuchCommand_; then
   Exit 1
 else
   # If ylwrap fails to found the given program, it must exit with 127.
@@ -83,7 +83,7 @@ cd ..
 
 mkdir dummy1
 cd dummy1
-$SHELL ../ylwrap --yacc .y foo.y foo.c -- true 2>../stderr \
+$SHELL ../ylwrap --yacc foo.y foo.c -- true 2>../stderr \
   && { cat ../stderr >&2; Exit 1; }
 cat ../stderr >&2
 grep "^ylwrap: expected file \`y\.tab\.c' not found" ../stderr
diff --git a/tests/ylwrap-output-rename.test b/tests/ylwrap-output-rename.test
index 3b75499..f391dbe 100755
--- a/tests/ylwrap-output-rename.test
+++ b/tests/ylwrap-output-rename.test
@@ -40,7 +40,7 @@ PATH=`pwd`/bin$PATH_SEPARATOR$PATH; export PATH
 
 mkdir yacc
 cd yacc
-$SHELL -x ../ylwrap --yacc .y foo.y zardoz.c fake-yacc
+$SHELL -x ../ylwrap --yacc foo.y zardoz.c fake-yacc
 ls -l
 test   -f zardoz.c
 test ! -f zardoz.h
@@ -51,7 +51,7 @@ cd ..
 mkdir yacc-d-subdir
 cd yacc-d-subdir
 mkdir quux
-$SHELL -x ../ylwrap --yacc .y foo.y quux/zardoz.c fake-yacc -d
+$SHELL -x ../ylwrap --yacc foo.y quux/zardoz.c fake-yacc -d
 ls -l . quux
 test   -f quux/zardoz.c
 test   -f quux/zardoz.h
@@ -69,7 +69,7 @@ cd ..
 
 mkdir yacc-cxx
 cd yacc-cxx
-$SHELL -x ../ylwrap --yacc .yxx foo.yxx f-o--o-.cxx fake-yacc
+$SHELL -x ../ylwrap --yacc foo.y++ f-o--o-.cxx fake-yacc
 ls -l
 test   -f f-o--o-.cxx
 test ! -f foo.c
@@ -79,7 +79,7 @@ cd ..
 
 mkdir yacc-cxx-d
 cd yacc-cxx-d
-$SHELL -x ../ylwrap --yacc .y++ foo.y++ .quux..c++ fake-yacc -d
+$SHELL -x ../ylwrap --yacc bar .quux..c++ fake-yacc -d
 ls -l
 test   -f .quux..c++
 test   -f .quux..h++
@@ -93,7 +93,7 @@ cd ..
 
 mkdir yacc-cxx-d-v
 cd yacc-cxx-d-v
-$SHELL -x ../ylwrap --yacc .yy foo.yy y.tab.cc fake-yacc -d -v
+$SHELL -x ../ylwrap --yacc foo.yy y.tab.cc fake-yacc -d -v
 ls -l
 test   -f y.tab.cc
 test   -f y.tab.hh
diff --git a/tests/ylwrap-path-handling.test b/tests/ylwrap-path-handling.test
index 47fd193..b2fe32a 100755
--- a/tests/ylwrap-path-handling.test
+++ b/tests/ylwrap-path-handling.test
@@ -40,7 +40,7 @@ ocwd=`pwd` || Exit 99
 mkdir 1
 cd 1
 echo 'blah 1' > foo.y
-$SHELL -x ../ylwrap --yacc .y "$ocwd"/1/foo.y ../1/foo.c ../fake-yacc
+$SHELL -x ../ylwrap --yacc "$ocwd"/1/foo.y ../1/foo.c ../fake-yacc
 ls -l
 cmp foo.y foo.c
 cmp foo.y foo.h
@@ -51,7 +51,7 @@ mkdir 2
 cd 2
 echo 'blah 2' > foo.yy
 cp ../fake-yacc .
-$SHELL -x ../ylwrap --yacc .yy ./foo.yy "$ocwd"/2/foo.cc -- ./fake-yacc
+$SHELL -x ../ylwrap --yacc ./foo.yy "$ocwd"/2/foo.cc -- ./fake-yacc
 ls -l
 cmp foo.yy foo.cc
 cmp foo.yy foo.hh
@@ -63,7 +63,7 @@ cd 3
 mkdir sub1 sub2
 echo 'blah 3' > sub1/foo.yxx
 cp ../fake-yacc .
-$SHELL -x ../ylwrap --yacc .yxx sub1/foo.yxx sub2/foo.cxx -- ../3/fake-yacc
+$SHELL -x ../ylwrap --yacc sub1/foo.yxx sub2/foo.cxx -- ../3/fake-yacc
 ls -l
 cmp sub1/foo.yxx sub2/foo.cxx
 cmp sub1/foo.yxx sub2/foo.hxx
diff --git a/tests/ylwrap-pwd-fail.test b/tests/ylwrap-pwd-fail.test
index 9c45981..d31d97b 100755
--- a/tests/ylwrap-pwd-fail.test
+++ b/tests/ylwrap-pwd-fail.test
@@ -32,7 +32,7 @@ if (cd .. && rmdir disappear && test ! -d disappear); then
   if $SHELL -c 'pwd'; then
     skip_ "pwd suceeds in non-existing directory"
   else
-    $SHELL "$ocwd"/ylwrap --yacc .y "$ocwd"/foo.y "$ocwd"/foo.c ':' \
+    $SHELL "$ocwd"/ylwrap --yacc "$ocwd"/foo.y "$ocwd"/foo.c ':' \
       2>"$ocwd"/stderr && { cat "$ocwd"/stderr >&2; Exit 1; }
     cat "$ocwd"/stderr >&2
     cd "$ocwd"
diff --git a/tests/ylwrap-signals.test b/tests/ylwrap-signals.test
index 5bc158e..3b35f81 100755
--- a/tests/ylwrap-signals.test
+++ b/tests/ylwrap-signals.test
@@ -60,9 +60,9 @@ cd work
 
 # The only signals which are portably trappable are 1 (SIGHUP),
 # 2 (SIGINT), 13 (SIGPIPE) and 15 (SIGTERM).
-do_check 1 --yacc .y foo.y foo.c
-do_check 2 --lex .l foo.l foo.c
-do_check 13 --yacc .yy foo.yy foo.cc
-do_check 15 --yacc lex.yy.c foo.l++ foo.c++
+do_check 1 --yacc foo.y foo.c
+do_check 2 --lex lex.yy.c foo.l foo.c
+do_check 13 --yacc foo.yy foo.cc
+do_check 15 --lex lex.yy.c foo.l++ foo.c++
 
 :
diff --git a/tests/ylwrap-usage-fail.test b/tests/ylwrap-usage-fail.test
index c863a23..0740bf7 100755
--- a/tests/ylwrap-usage-fail.test
+++ b/tests/ylwrap-usage-fail.test
@@ -41,17 +41,17 @@ done
 
 $SHELL ./ylwrap --yacc 2>stderr && { cat stderr >&2; Exit 1; }
 cat stderr >&2
-grep 'ylwrap:.*missing yacc extension' stderr
+grep 'ylwrap:.*missing input file' stderr
 grep 'Try.*ylwrap --help' stderr
 
-$SHELL ./ylwrap --lex 2>stderr && { cat stderr >&2; Exit 1; }
+$SHELL ./ylwrap --yacc foo.y 2>stderr && { cat stderr >&2; Exit 1; }
 cat stderr >&2
-grep 'ylwrap:.*missing lex output root' stderr
+grep 'ylwrap:.*missing output file' stderr
 grep 'Try.*ylwrap --help' stderr
 
-$SHELL ./ylwrap --yacc .y 2>stderr && { cat stderr >&2; Exit 1; }
+$SHELL ./ylwrap --lex 2>stderr && { cat stderr >&2; Exit 1; }
 cat stderr >&2
-grep 'ylwrap:.*missing input file' stderr
+grep 'ylwrap:.*missing lex output root' stderr
 grep 'Try.*ylwrap --help' stderr
 
 $SHELL ./ylwrap 2>stderr --lex foo.yy && { cat stderr >&2; Exit 1; }
@@ -64,7 +64,7 @@ cat stderr >&2
 grep 'ylwrap:.*missing output file' stderr
 grep 'Try.*ylwrap --help' stderr
 
-for preamble in '--yacc .y foo.y foo.c' '--lex lex.yy bar.l bar.c'; do
+for preamble in '--yacc foo.y foo.c' '--lex lex.yy bar.l bar.c'; do
   for separator in '' '--'; do
     $SHELL ./ylwrap $preamble $separator 2>stderr \
       && { cat stderr >&2; Exit 1; }
diff --git a/tests/ylwrap-yacc-dos.test b/tests/ylwrap-yacc-dos.test
index b065758..c850b2f 100755
--- a/tests/ylwrap-yacc-dos.test
+++ b/tests/ylwrap-yacc-dos.test
@@ -38,7 +38,7 @@ for opts in '' d v vd; do
     dir=foo${opts}.dir
     mkdir $dir
     cd $dir
-    $SHELL -x ../ylwrap --yacc .y bar.y bar.c dos-yacc -$opts
+    $SHELL -x ../ylwrap --yacc bar.y bar.c dos-yacc -$opts
     ls -l # For debugging.
     ls y[._]* && Exit 1
     cat bar.c
diff --git a/tests/ylwrap-yacc-ext.test b/tests/ylwrap-yacc-ext.test
index 0c81968..a14676d 100755
--- a/tests/ylwrap-yacc-ext.test
+++ b/tests/ylwrap-yacc-ext.test
@@ -41,12 +41,14 @@ for mold in _ __ _++ _xx _pp; do
     y=`echo $mold | sed 's/_/y/g'`
     c=`echo $mold | sed 's/_/c/g'`
     h=`echo $mold | sed 's/_/h/g'`
-    $SHELL -x ../ylwrap --yacc .$y x.$y x.$c fake-yacc -$opts
-    ls -l # For debugging.
-    ls y.* && Exit 1
-    test -f x.$c
-    case $opts in *d*) test -f x.$h;; *) :;; esac
-    case $opts in *v*) test -f x.output;; *) :;; esac
+    for infile in $x.$y $x.y foo; do
+      $SHELL -x ../ylwrap --yacc $infile x.$c fake-yacc -$opts
+      ls -l # For debugging.
+      ls y.* && Exit 1
+      test -f x.$c
+      case $opts in *d*) test -f x.$h;; *) test ! -f x.$h;; esac
+      case $opts in *v*) test -f x.output;; *) test ! -f x.output;; esac
+    done
     cd ..
   done
 done
diff --git a/tests/ylwrap-yacc-parallel.test b/tests/ylwrap-yacc-parallel.test
index fb4c558..cf7663d 100755
--- a/tests/ylwrap-yacc-parallel.test
+++ b/tests/ylwrap-yacc-parallel.test
@@ -51,7 +51,7 @@ for try in 1 2 3 4; do
     cd $try
     for arg in $args; do \
       time=`printf %s $arg | wc -c`; export time
-      $SHELL ../ylwrap --yacc .y $arg.y $arg.c fake-yacc $arg \
+      $SHELL ../ylwrap --yacc $arg.y $arg.c fake-yacc $arg \
         >stdout.$arg 2>stderr.$arg &
       unset time
     done


hooks/post-receive
-- 
GNU Automake



reply via email to

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