Merge branch 'master' into test-protocols
authorStefano Lattarini <stefano.lattarini@gmail.com>
Sun, 28 Aug 2011 10:25:31 +0000 (12:25 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Sun, 28 Aug 2011 10:25:31 +0000 (12:25 +0200)
* master:
  tests: list "forgotten" test script in TESTS
  ylwrap: fix unusual indentation whitespace

1  2 
ChangeLog
tests/Makefile.am
tests/Makefile.in

diff --cc ChangeLog
+++ b/ChangeLog
+ 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       tests: list "forgotten" test script in TESTS
+       * tests/Makefile.am (TESTS): Also list ...
+       * tests/java-empty-classpath.test: ... this test.  Since we are
+       at it, remove trailing whitespace from a couple of lines.
+ 2011-08-25  Eric Blake  <eblake@redhat.com>
+       ylwrap: fix unusual indentation whitespace
+       * lib/ylwrap: Convert tabs to spaces.
+       Reported by Karl Berry.
 +2011-08-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tests: fix spurious failure for awk implementation of TAP driver
 +      * tests/tap-realtime.test: The awk+shell implementation of the TAP
 +      driver must "read ahead" of one line in order to catch the exit
 +      status of the test script it runs.  So, in the TAP-producer script
 +      here, be sure to echo one "dummy" line after each TAP result line
 +      in order not to cause false positives.
 +
 +2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tap/awk: allow escaping of TAP directives
 +      * lib/tap-driver.sh (setup_result_obj): Handle escaping of TAP
 +      directives in a way tat is (mostly) compatible by what is done
 +      by the TAP::Parser module.
 +      With this change, the tests `tap-escape-directive.test' and
 +      `tap-escape-directive-2.test' now also pass with the shell/awk
 +      implementation of the TAP driver.
 +
 +2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      coverage: more about escaping of TAP directives
 +      * tests/tap-escape-directive.test: Make grepping of testsuite
 +      progress output slightly stricter.
 +      * tests/tap-escape-directive-2.test: New test (failing with the
 +      awk implementation of the TAP driver).
 +      * tests/Makefile.am (tap_with_common_setup_tests): Update.
 +
 +2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tap: improve syncing between awk+shell and perl implementations
 +      * lib/tap-driver.pl (stringify_test_result): Renamed ...
 +      (stringify_result_obj): ... to this.  Break up a clause in the
 +      long "if/elsif/.../else" construct to avoid unaesthetic line
 +      breaks and to be more synced with the sibling function in
 +      `tap-driver.sh'.  Rename the `$result', `$PASS' and `$FAIL'
 +      variables to respectively `$result_obj', `$COOKED_PASS' and
 +      `$COOKED_FAIL', for clarity and better syncing.
 +      (handle_tap_test): Renamed  ...
 +      (handle_tap_result): ... to this, and change the name of the
 +      `$test' local variable to `$result_obj'.
 +      (extract_comment): Reimplement using the simpler `index' and
 +      `substr' builtins, rather than with more advanced uses of
 +      regular expressions.
 +      (%test_results, @test_results): Renamed respectively ...
 +      (%test_results_seen, @test_results_list): ... to these, and
 +      related adjustments throughout the `TEST_RESULTS' block.
 +      (main, get_global_test_result): Refactor and do some cosmetic
 +      changes to make these functions clearer and better synced with
 +      sibling code in `tap-driver.sh'.
 +      Other minor cosmetic and typo fixes.
 +      * lib/tap-driver.sh (extract_tap_comment): Remove outdated
 +      "FIXME" comments.
 +      (get_global_test_result): Small reordering to make it better
 +      synced with its sibling function in `tap-driver.pl'.
 +      (stringify_result_obj): Consistently use `result_obj' as the
 +      parameter name.
 +      Other minor cosmetic and typo fixes.
 +
 +2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tap/perl: don't redirect perl warnings/errors to log files
 +      With this change, the test `tap-driver-stderr.test' also passes
 +      with the perl implementation of the TAP driver.
 +      * lib/tap-driver.pl (start): Save the original stderr into the
 +      `OLDERR' file handle, and call ...
 +      (trap_perl_warnings_and_errors): ... this new function, trapping
 +      the `__WARN__' and `__DIE__' "pseudo-signals" to ensure that the
 +      warning and error messages goes to that original stderr stream.
 +      Since we are at it, be sure to prepend all possible "die" message
 +      with the name of the script as given by the `$ME' variable.
 +
 +2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tap/perl: add copyright notice, version string, and emacs stuff
 +      * lib/tap-driver.pl: Add proper copyright notice and bug reporting
 +      address.  Remove obsolete heading comments.  Add trailing comments
 +      for emacs w.r.t. code-formatting rules and automatic updating of
 +      the date-based script version saved into the `$VERSION' variable.
 +      ($VERSION): Define to the current UTC date.
 +
 +2011-08-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tap/awk: don't redirect awk stderr to log files
 +      * lib/tap-driver.sh: Handle the file descriptors redirections
 +      more smartly, to avoid sending error messages from awk (about
 +      e.g. syntax or I/O errors) to the log files instead that to the
 +      console.
 +      * tests/tap-driver-stderr.test: New test, verifying the improved
 +      driver behaviour.  Notice that this test still fails when using
 +      the perl implementation of the TAP driver.
 +      * tests/Makefile.am (tap_other_tests): Update.
 +
 +2011-08-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tap/awk: remove obsolete "FIXME" comment
 +      * lib/tap-driver.sh: Remove obsolete "FIXME" comment about our
 +      driver losing the exit status of the tested program; this issue
 +      has been solved in precedent commit `v1.11-1052-gd630a0d'.  Fix
 +      an unrelated typo in comments since we are at it.
 +
 +2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      testsuite: avoid spurious failure on Solaris
 +      * tests/tap-signal.test (signal_caught): Fix a regression from
 +      commit `v1.11-1052-gd630a0d' that was causing this test to fail
 +      spuriously on Solaris (due to an already worked-around Solaris
 +      /bin/sh bug, see commit `v1.11-981-g0ef3ef5').
 +
 +2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      testsuite: use the new awk+shell TAP driver in our own testsuite
 +      * tests/Makefile.am (TAP_LOG_DRIVER): Redefine to use the new
 +      awk+shell tap driver, which should be complete enough for use in
 +      a "controlled" production environment.
 +
 +2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tap/awk: handle non-zero exit status from the test command
 +      * lib/tap-driver.sh (get_test_exit_message): New function in the
 +      awk script, used to extract the exit status of the test program,
 +      or at least a good guess of it.
 +      (write_test_results): Use it, reporting an ERROR result if it
 +      detects that the test program exited with a non-zero status.
 +      * tests/tap-signal.test: Account for the differences in the
 +      error messages generated by the awk and perl TAP drivers.  Fix
 +      an unrelated typo in comments since we are at it.
 +
 +2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tap/awk: prepare to fetch the exit status of the test command
 +      * lib/tap-driver.sh: Rewrite some logic in the main parsing loop,
 +      to make it possible to read the exit status of the test command
 +      from the last line of the input stream.
 +
 +2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tap/awk: refactor for future changes
 +      * lib/tap-driver.sh: Rewrite the awk script so that the parsing
 +      of the input stream is implemented as a hand-rolled loop in the
 +      BEGIN block, using the `getline' builtin.
 +
 +2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      testsuite: avoid spurious failure if rst2html program is missing
 +      * tests/tap-html.test ($required): Require `rst2html'.
 +
 +2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tap/awk: support Solaris /usr/xpg4/bin/awk
 +      * lib/tap-driver.sh: Use `\t', not `\\t', to represent tabulation
 +      character in regexps, even when inside double-quoted strings; that
 +      seems to be more portable to Solaris 10 XPG4 awk.
 +
 +2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tap/awk: support Solaris /usr/bin/nawk
 +      * lib/tap-driver.sh (close_or_die): Remove, the use of the `close'
 +      builtin in there was confusing /usr/bin/nawk from Solaris 10 into
 +      a syntax error.
 +      (write_test_results): Simply use `close' on the `*.trs' file, that
 +      should be enough.
 +
 +2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tap/awk: correctly extract message from SKIP plans
 +      * lib/tap-driver.sh (/^1\.\.0+[ \t]*#/): Add a forgotten `?' to
 +      the regex used to extract the skip message from a "1..0" TAP plan.
 +      * tests/planskip.test: Check for the just-fixed bug.
 +      * tests/tap-planskip-unplanned-corner.test: Don't be too strict
 +      w.r.t. the formatting of the "skip whole test" message, to avoid
 +      failing due to bugs irrelevant for this test (like the one just
 +      fixed).
 +
 +2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tap/awk: support colorized output
 +      * lib/tap-driver.sh: Pass definition of colors to the BEGIN block
 +      of the awk script, using ...
 +      ($init_colors): ... this new variable, which supersedes ...
 +      ($red, $grn, $lgn, $blu, $mgn, $std): ... these variables, which
 +      have been consequently removed.
 +      ($color_tests): We don't have to pass this anymore to the awk
 +      script, so do not convert it to a numeric boolean.
 +      (decorate_result): Implement for real.
 +      With this change, the test 'tap-color.test' now passes.
 +
 +2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tap: real (but still incomplete) awk implementation of TAP driver
 +      * lib/tap-driver.sh: Add an incomplete, but mostly working,
 +      implementation of a TAP parser and driver in awk.  It doesn't yet
 +      support colorized output, fetching of exit status from test
 +      programs, nor a way to escape TAP directives in TAP result lines,
 +      but passes all the tests of TAP support in the automake testsuite,
 +      apart from the following ones:
 +        - tap-color.test
 +        - tap-escape-directive.test
 +        - tap-exit.test
 +        - tap-missing-plan-and-bad-exit.test
 +        - tap-passthrough-exit.test
 +        - tap-planskip-badexit.test
 +        - tap-planskip-unplanned-corner.test
 +        - tap-signal.test
 +      Tested on Debian GNU/Linux with GNU awk 3.1.7 and 3.0.2, "original
 +      awk" 2010-05-23-1, and mawk 1.3.3-15 (with which also the test
 +      `tap-realtime.test' fails, in addition to those listed above).
 +
 +2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      testsuite: fix spurious failure due to Solaris 'wc' incompatibility
 +      * tests/tap-number-wordboundary.test ($planned): Strip any extra
 +      whitespace from the output of `wc', to cater to Solaris 10.
 +
 +2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      coverage: keyword "SKIP" in TAP plan is case-insensitive
 +      * tests/tap-planskip-case-insensitive.test: New test.
 +      * tests/tap-planskip.test: Remove now-duplicated checks.
 +      * tests/Makefile.am (tap_with_common_setup_tests): Update.
 +
 +2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      coverage: ambiguous use of TAP "TODO"/"SKIP" directives
 +      * tests/tap-ambiguous-directive.test: New test.
 +      * tests/tap-todo-skip-together.test: Reference it in heading
 +      comments.
 +      * tests/Makefile.am (tap_with_common_setup_tests): Update.
 +
 +2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      coverage: non-directive comments in TAP results are preserved
 +      * tests/tap-result-comment.test: New test.
 +      * tests/Makefile.am (tap_with_common_setup_tests): Update.
 +
 +2011-08-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      coverage: TAP result number followed by non-whitespace word boundary
 +      * tests/tap-number-wordboundary.test: New test.
 +      * tests/Makefile.am (tap_with_common_setup_tests): Update.
 +
 +2011-08-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      coverage: a TAP result numbered "0" is always out-of-order
 +      * tests/tap-test-number-0.test: New, checks that a test result
 +      numbered as 0 is to be considered out-of-order; this is
 +      consistent with the behaviour of the `prove' utility.
 +      * tests/Makefile.am (tap_with_common_setup_tests): Update.
 +
 +2011-08-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      cosmetics: fix botched indentation in perl TAP driver
 +      * lib/tap-driver.pl (main, Getopt::Long::GetOptions): Fix
 +      improper or botched indentation.
 +
 +2011-08-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      coverage: some more tests on corner cases of TAP support
 +      * tests/tap-no-spurious.test: Extend checks verifying that a line
 +      matching, say, the regex "^ok[a-zA-Z0-9_]" is *not* considered a
 +      TAP result.
 +      * tests/tap-no-spurious-numbers.test: New test, checking that our
 +      TAP driver doesn't spuriously recognize as TAP result numbers what
 +      is not (even if it seems pretty close).
 +      * tests/tap-negative-numbers.test: New test, checking that our
 +      TAP driver doesn't spuriously recognize negative TAP result
 +      numbers, but correctly interprets them as test descriptions
 +      instead.
 +      * tests/tap-plan-leading-zero.test, tap-numbers-leading-zero.test:
 +      New tests, checking how our driver fares in recognizing numbers
 +      with leading zeroes in TAP results or TAP plans.
 +      * tests/tap-planskip-malformed.test: New test, checking that a
 +      malformed TAP plan is not recognized as a valid plan.
 +      * tests/tap-plan-whitespace.test: New test, checking that a TAP
 +      plan line with trailing whitespace is recognized and handled
 +      correctly.
 +      * tests/Makefile.am (tap_with_common_setup_tests): Update.
 +
 +2011-08-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      testsuite: fix some redundant autotools calls in tests on TAP
 +      * tests/tap-deps.test: Do not call autotools and configure; there
 +      is no need to, since this script sources `tap-setup.sh'.
 +      * tests/tap-empty-diagnostic.test: Likewise.
 +      * tests/tap-escape-directive.test: Likewise.
 +      * tests/tap-fancy2.test: Likewise.
 +      * tests/tap-no-spurious.test: Likewise.
 +      * tests/tap-out-of-order.test: Likewise.
 +
  2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
  
        * THANKS (Daniel Richard G.): Update e-mail address.
Simple merge
Simple merge