automake-patches
[Top][All Lists]
Advanced

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

[PATCH] {yacc-work} tests: cover yacc target-specific flags, and `-v' fl


From: Stefano Lattarini
Subject: [PATCH] {yacc-work} tests: cover yacc target-specific flags, and `-v' flag handling
Date: Fri, 21 Jan 2011 13:13:35 +0100
User-agent: KMail/1.13.3 (Linux/2.6.30-2-686; KDE/4.4.4; i686; ; )

A small testsuite patch which slightly increases coverage of
Automake Yacc support.  OK for the temporary branch yacc-work
(which at this point could as well be made public maybe), to
be merged into master?

I will push in 72 hours if there are no objections.

Regards,
  Stefano

-*-*-*-

tests: cover yacc target-specific flags, and `-v' flag handling

* tests/yacc-basic: Try also to build a parser having `-v' as
target-specific flags.  Add a couple of `ls -l' commands, for
debugging.  Update and extend comments.
---
 ChangeLog             |    7 +++++++
 tests/yacc-basic.test |   31 ++++++++++++++++++++++++++-----
 2 files changed, 33 insertions(+), 5 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 31adec7..6d5f08b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2011-01-21   Stefano Lattarini  <address@hidden>
+
+       tests: cover yacc target-specific flags, and `-v' flag handling
+       * tests/yacc-basic: Try also to build a parser having `-v' as
+       target-specific flags.  Add a couple of `ls -l' commands, for
+       debugging.  Update and extend comments.
+
 2011-01-12   Stefano Lattarini  <address@hidden>
 
        docs: clustered '-d' not recognized in YFLAGS
diff --git a/tests/yacc-basic.test b/tests/yacc-basic.test
index 4faea95..9006397 100755
--- a/tests/yacc-basic.test
+++ b/tests/yacc-basic.test
@@ -30,8 +30,10 @@ AC_OUTPUT
 END
 
 cat > Makefile.am << 'END'
-bin_PROGRAMS = foo
+bin_PROGRAMS = foo bar
 foo_SOURCES = parse.y foo.c
+bar_SOURCES = $(foo_SOURCES)
+bar_YFLAGS = -v
 
 .PHONY: echo-distcom
 echo-distcom:
@@ -59,30 +61,49 @@ $AUTOMAKE -a
 
 ./configure
 $MAKE
-# The `parse.c' file must be created and not removed (i.e., not treated
-# like an "intermediate file" in the GNU make sense).
+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
+# make sense).
 test -f parse.c
+test -f bar-parse.c
+# Check that per-object flags are honored.
+test -f bar-parse.output
 
 echo a | ./foo
 echo b | ./foo && Exit 1
 
-# The generated file `parse.c' must be shipped.
+echo a | ./bar
+echo b | ./bar && Exit 1
+
+# The Yacc-derived C sources must be shipped.
 $MAKE echo-distcom
 $MAKE -s echo-distcom | grep '[ /]parse.c '
+$MAKE -s echo-distcom | grep '[ /]bar-parse.c '
 $MAKE distdir
 ls -l $distdir
 test -f $distdir/parse.c
+test -f $distdir/bar-parse.c
 
 # Sanity check on distribution.
+# Note that, for this to succeed, bar-parse.output must either not
+# be distributed, or properly cleaned by automake-generated rules.
+# We don't want to set the exact semantics yet, but want to ensure
+# they are are consistent.
 $MAKE distcheck
 
-# While we are at it, make sure that parse.c is erased by
+# Make sure that the Yacc-derived C sources are erased by
 # maintainer-clean, and not by distclean.
 test -f parse.c
+test -f bar-parse.c
 $MAKE distclean
+ls -l
 test -f parse.c
+test -f bar-parse.c
 ./configure # we must re-create `Makefile'
 $MAKE maintainer-clean
+ls -l
 test ! -f parse.c
+test ! -f bar-parse.c
 
 :
-- 
1.7.2.3




reply via email to

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