Merge branch 'master' into tap-testsuite-work
authorStefano Lattarini <stefano.lattarini@gmail.com>
Tue, 9 Aug 2011 20:52:06 +0000 (22:52 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Tue, 9 Aug 2011 20:52:06 +0000 (22:52 +0200)
* master:
  tests: fix various blunders in 'suffix-chain.test' (edited)

1  2 
ChangeLog
tests/suffix-chain.tap

diff --cc ChangeLog
+++ b/ChangeLog
@@@ -1,54 -1,12 +1,60 @@@
  2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
  
 -      tests: fix various blunders in 'suffix-chain.test'
 -      * tests/suffix-chain.test: Fix various blunders that were causing
 -      this test to fail spuriously: append to `configure.in', not to
 -      `configure.ac'; add a `;' character after the `return' statement
 -      in an input file; use tabs, not spaces, to indent Makefile recipes;
 -      and use more uncommon suffixes that don't trigger built-in recipes
 -      with FreeBSD make.
++      tests: fix spurious failure in 'suffix-chain.tap'
++      * tests/suffix-chain.test: Use more uncommon suffixes that
++      don't trigger built-in recipes with FreeBSD make.
++
++2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
++
 +      testsuite: improvements to our shell TAP library and APIs
 +      These improvements impact only the Automake's own testsuite.
 +      * tests/tap-functions.sh (plan_): Allow new special arguments
 +      "unknown" a.k.a. "later" and "lazy" a.k.a. "now".  Perform
 +      sanity check the given arguments.  Adjust incorrect comments.
 +      (lazy_plan_): Removed, superseded by the new version of `plan_'.
 +      (not): New function, run a command and inverts its exit status.
 +      (ok_, not_ok_, skip_): These are just shorthands for common
 +      `result_' usages.
 +      (xfail_, xpass_, reset_test_count_): Removed, they are not used,
 +      nor does a legitimate use for them seem in sight.
 +      (not): New function, to run a command inverting its exit status.
 +      (command_not_ok_): Removed, superseded by `command_ok_' + `not'.
 +      (command_ok_): Extended to accept TAP directives.
 +      * tests/defs (trap): Don't use `late_plan_' anymore, use
 +      `plan_ "now"' instead.
 +      * tests/ac-output-old.tap: Update to take advantage of the new
 +      APIs.
 +      * tests/self-check-env-sanitize.tap: Likewise.
 +      * tests/suffix-chain.tap: Likewise.
 +      * tests/suffix10.tap: Likewise.
 +      * tests/suffix11.tap: Likewise.
 +      * tests/suffix3.tap: Likewise.
 +      * tests/suffix8.tap: Likewise.
 +      * tests/tap-bad-prog.tap: Likewise.
 +      * tests/self-check-exit.tap: Likewise, plus a small improvement
 +      in the name of a variable.
 +
 +2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      testsuite: convert some `suffix*' tests to TAP
 +      This will allow us to explicitly declare some expected failures
 +      involving Solaris make as such, instead of partly papering over
 +      them with skips and partly letting them fail too loudly.
 +      * tests/suffix-chain.test: Rename ...
 +      * tests/suffix-chain.tap: ... to this, and convert to the use of
 +      TAP.  Also, fix some bugs since we are at it, and ...
 +      ($required): ... require `cc'.
 +      * tests/suffix3.test: Rename ...
 +      * tests/suffix3.tap: ... to this, and convert to the use of TAP.
 +      Also, since we are at it, throw in some formatting fixes.
 +      * tests/suffix8.test: Rename ...
 +      * tests/suffix8.tap: ... to this, and convert to the use of TAP.
 +      Also, since we are at it, throw in some formatting fixes.
 +      * tests/suffix10.test: Rename ...
 +      * tests/suffix10.tap: ... to this, and convert to the use of TAP.
 +      * tests/suffix11.test: Rename ...
 +      * tests/suffix11.tap: ... to this, and convert to the use of TAP.
 +      * tests/Makefile.am (TESTS): Update.
  
  2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
  
@@@ -30,35 -27,31 +30,35 @@@ EN
  
  cat > Makefile.am <<'END'
  bin_PROGRAMS = foo
- foo_SOURCES = foo.e
- .e.d:
+ foo_SOURCES = foo.c1
+ .c1.c0:
        (echo 'int main (void)' && echo '{' && cat $<) > $@
- .d.c:
+ .c0.c:
        (cat $< && echo '}') > $@
- CLEANFILES = foo.d foo.c
+ CLEANFILES = foo.c0 foo.c
  END
  
- echo 'return 0;' > foo.e
+ echo 'return 0;' > foo.c1
  
 -$ACLOCAL
 -$AUTOMAKE
 -$AUTOCONF
 -./configure
 +command_ok_ "aclocal"   $ACLOCAL
 +command_ok_ "automake"  $AUTOMAKE
 +command_ok_ "autoconf"  $AUTOCONF
 +command_ok_ "configure" ./configure
  
 -$MAKE
 -$MAKE distcheck
 +directive=''; make_can_chain_suffix_rules || directive=TODO
  
 -$MAKE clean
 +for target in all distcheck; do
 +  command_ok_ "make $target" \
 +              -D "$directive" -r "suffix rules not chained" \
 +              $MAKE $target
 +done
  
 +command_ok_ "clean" $MAKE clean
 +# Sanity check.
  cat >> Makefile <<'END'
- foo.c: foo.d
- foo.d: foo.e
+ foo.c: foo.c0
+ foo.c0: foo.c1
  END
 -
 -$MAKE
 +command_ok_ "make with explicit dependencies" $MAKE
  
  :