From: Stefano Lattarini Date: Sun, 28 Aug 2011 10:25:31 +0000 (+0200) Subject: Merge branch 'master' into test-protocols X-Git-Tag: ng-0.5a~89^2~93^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cdddf80e02edd43c5cb6a5dc087e724ebadb7854;p=thirdparty%2Fautomake.git Merge branch 'master' into test-protocols * master: tests: list "forgotten" test script in TESTS ylwrap: fix unusual indentation whitespace --- cdddf80e02edd43c5cb6a5dc087e724ebadb7854 diff --cc ChangeLog index 666445abf,a4b2b3b44..b1e1bdc5e --- a/ChangeLog +++ b/ChangeLog @@@ -1,292 -1,16 +1,305 @@@ + 2011-08-25 Stefano Lattarini + + 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 + + ylwrap: fix unusual indentation whitespace + * lib/ylwrap: Convert tabs to spaces. + Reported by Karl Berry. + +2011-08-26 Stefano Lattarini + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + testsuite: avoid spurious failure if rst2html program is missing + * tests/tap-html.test ($required): Require `rst2html'. + +2011-08-22 Stefano Lattarini + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 * THANKS (Daniel Richard G.): Update e-mail address.