Blame Changes-2.64

Packit a6a12c
Revision history for Perl extension Test::Harness
Packit a6a12c
Packit a6a12c
This is the revision history for the previous version of Test::Harness
Packit a6a12c
up to 2.64. The current version of test harness is a complete rewrite of
Packit a6a12c
this code.
Packit a6a12c
Packit a6a12c
NEXT
Packit a6a12c
    [FIXES]
Packit a6a12c
    * prove's --perl=/path/to/file wasn't taking a value.
Packit a6a12c
    * prove's version number was not getting incremented.  From now on,
Packit a6a12c
      prove's $VERSION will match Test::Harness's $VERSION, and I added
Packit a6a12c
      a test to make sure this is the case.
Packit a6a12c
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    * Added test straps overload via HARNESS_STRAP_OVERLOAD environment
Packit a6a12c
      variable.  prove now takes a --strap=class parameter.  Thanks,
Packit a6a12c
      Adam Kennedy.
Packit a6a12c
Packit a6a12c
2.63_01 Fri Jun 30 16:59:50 CDT 2006
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    * Failed tests used to say "NOK x", and now say "NOK x/y".
Packit a6a12c
      Thanks to Will Coleda.
Packit a6a12c
Packit a6a12c
    * Added the Test::Harness::Results object, so we have a well-defined
Packit a6a12c
      object, and not just a hash that we pass around.  Thanks to YAPC::NA
Packit a6a12c
      2006 Hackathon!
Packit a6a12c
Packit a6a12c
2.62 Thu Jun  8 14:11:57 CDT 2006
Packit a6a12c
    [FIXES]
Packit a6a12c
    * Restored the behavior of dying if any subtests failed.  This is a
Packit a6a12c
      pretty crucial bug that I should have fixed long ago.  Not having this
Packit a6a12c
      means that CPANPLUS will install modules even if their tests fail. :-(
Packit a6a12c
Packit a6a12c
2.60 Wed May 24 14:48:44 CDT 2006
Packit a6a12c
    [FIXES]
Packit a6a12c
    * Fixed the headers in the summary failure table.
Packit a6a12c
Packit a6a12c
2.58 Sat May 13 22:53:53 CDT 2006
Packit a6a12c
    No changes.  Released to the world with a non-beta number.
Packit a6a12c
Packit a6a12c
2.57_06 Sun Apr 23 00:55:43 CDT 2006
Packit a6a12c
    [THINGS THAT MIGHT BREAK YOUR CODE]
Packit a6a12c
    * Anything that displays a percentage of tests passed has been
Packit a6a12c
      removed.  Output at the end of failing runs is now different.
Packit a6a12c
Packit a6a12c
    [FIXES]
Packit a6a12c
    * Fixed the TODO-passing patch from 2.57_05.
Packit a6a12c
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    * The unnecessary display of percentages of tests passing and failing
Packit a6a12c
      have been removed.  Tests are not a percentage game.
Packit a6a12c
Packit a6a12c
    * Caches the results of _default_inc(), which is expensive because
Packit a6a12c
      of shelling out to get the pathnames.  Benchmarking was showing that
Packit a6a12c
      15% of Test::Harness's time was spent in this function.  For test
Packit a6a12c
      suites with many test files, this can be significant.  With this
Packit a6a12c
      speedup, the "make test" for the Perl core speeds up 2.5%.
Packit a6a12c
      Thanks to Nicholas Clark for finding this.
Packit a6a12c
Packit a6a12c
    [DOCUMENTATION]
Packit a6a12c
    * Fixed HARNESS_PERL_SWITCHES typo.  Thanks, Andreas Koenig.
Packit a6a12c
Packit a6a12c
    * Added docs on HARNESS_TIMER and --timer.  Thanks, Mike O'Regan.
Packit a6a12c
Packit a6a12c
2.57_05 Wed Apr 19 00:31:10 CDT 2006
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    * Now shows details of the tests that unexpectedly pass, instead of
Packit a6a12c
      just giving a number.  Thanks, demerphq!
Packit a6a12c
Packit a6a12c
    [INTERNALS]
Packit a6a12c
    * Fixed globbing to work under Perls before 5.6.0.  Before Perl 5.6.0,
Packit a6a12c
      prove just uses the internal glob() function.
Packit a6a12c
Packit a6a12c
2.57_04 Mon Apr 17 13:35:10 CDT 2006
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    * prove's globbing is now done with File::Glob::bsd_glob().
Packit a6a12c
      Otherwise, "prove c:\program files\svk\t\*" fails because glob()
Packit a6a12c
      considers it to be two patterns, splitting on whitespace.  Thanks to
Packit a6a12c
      Audrey Tang.
Packit a6a12c
Packit a6a12c
    [DOCUMENTATION]
Packit a6a12c
    * Added information about other TAP implementations in other languages.
Packit a6a12c
Packit a6a12c
2.57_03 Dec 31 2005
Packit a6a12c
Packit a6a12c
    [THINGS THAT MAY BREAK YOUR CODE]
Packit a6a12c
    * Internal functions _run_all_tests() and _show_results() no longer
Packit a6a12c
      exist.  You shouldn't have been using them anyway since they're
Packit a6a12c
      prepended with underscores.
Packit a6a12c
Packit a6a12c
    [INTERNALS]
Packit a6a12c
    * Added the ability to send test output to a filehandle of
Packit a6a12c
      one's choosing.  Two internal functions are now exposed:
Packit a6a12c
      execute_tests() and get_results() (formerly _run_all_tests() and
Packit a6a12c
      _show_results()).  This should allow CPANPLUS to work properly
Packit a6a12c
      with Module::Build.  Thanks to Ken Williams.
Packit a6a12c
Packit a6a12c
    [DOCUMENTATION]
Packit a6a12c
    * Hid the documentation for the private methods in Test::Harness::Straps.
Packit a6a12c
Packit a6a12c
2.57_02 Fri Dec 30 23:51:17 CST 2005
Packit a6a12c
    [THINGS THAT MAY BREAK YOUR CODE]
Packit a6a12c
    * prove's --ext option has been removed.  I'm betting that nobody used it.
Packit a6a12c
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    * prove can now take -w and -W switches, analogous to those in perl.
Packit a6a12c
      This means that "prove -wlb t/*.t" is exactly the same as "make test".
Packit a6a12c
      Thanks to Rob Kinyon.
Packit a6a12c
    * Started a Test::Harness::Util module for code that may be reused
Packit a6a12c
      by other Harness-using modules.
Packit a6a12c
Packit a6a12c
    [INTERNALS]
Packit a6a12c
    * The t/prove*.t tests now use $^X to call prove.  Thanks to Yves Orton.
Packit a6a12c
    * Test::Harness::Straps no longer uses Win32::GetShortPathName().
Packit a6a12c
      Thanks to Gisle Aas.
Packit a6a12c
Packit a6a12c
2.57_01 Mon Dec 26 01:39:07 CST 2005
Packit a6a12c
    [FIXES]
Packit a6a12c
    * Removed code and docs mentioning HARNESS_IGNORE_EXITCODE, which
Packit a6a12c
      is not used anywhere.
Packit a6a12c
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    * If we have hi-res timings, then they're shown in integer
Packit a6a12c
      milliseconds, rather than fractional seconds.
Packit a6a12c
Packit a6a12c
    * Added the --perl switch to prove.
Packit a6a12c
Packit a6a12c
    [DOCUMENTATION]
Packit a6a12c
    * Added links to CPAN support sites.
Packit a6a12c
Packit a6a12c
2.56 Wed Sep 28 16:04:00 CDT 2005
Packit a6a12c
    [FIXES]
Packit a6a12c
    * Incorporate bleadperl patch to fix Test::Harness on VMS.
Packit a6a12c
Packit a6a12c
2.54 Wed Sep 28 09:52:19 CDT 2005
Packit a6a12c
    [FIXES]
Packit a6a12c
    * Test counts were wrong, so wouldn't install on Perls < 5.8.0.
Packit a6a12c
Packit a6a12c
2.53_02 Thu Aug 25 21:37:01 CDT 2005
Packit a6a12c
    [FIXES]
Packit a6a12c
    * File order in prove is now sorted within the directory.  It's not
Packit a6a12c
      the sorting that's important as much as the deterministic results.
Packit a6a12c
      Thanks to Adam Kennedy and Casey West for pointing this out,
Packit a6a12c
      independently of each other, with 12 hours of the other.
Packit a6a12c
Packit a6a12c
    [INTERNALS]
Packit a6a12c
    * Fix calls to podusage() to not use the DATA typeglob.  Thanks sungo.
Packit a6a12c
Packit a6a12c
2.53_01 Sun Jul 10 10:45:27 CDT 2005
Packit a6a12c
    [FIXES]
Packit a6a12c
    * If we go over 100,000 tests, it used to print out a warning for
Packit a6a12c
      every test over 100,000.  Now, we stop after the first.  Thanks to
Packit a6a12c
      Sebastien Aperghis-Tramoni.
Packit a6a12c
Packit a6a12c
2.52 Sun Jun 26 23:05:19 CDT 2005
Packit a6a12c
    No changes
Packit a6a12c
Packit a6a12c
2.51_02
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    * The Test::Harness timer is now off by default.  Set HARNESS_TIMER
Packit a6a12c
      true if you want it.  Added --timer flag to prove.
Packit a6a12c
Packit a6a12c
2.50_01
Packit a6a12c
    [FIXES]
Packit a6a12c
    * Call CORE::time() to figure out if we should print when we're
Packit a6a12c
      printing once per second.  Otherwise, we're using Time::HiRes'
Packit a6a12c
      version of it.  Thanks, Nicholas Clark.
Packit a6a12c
Packit a6a12c
2.50 Tue Jun 21 14:32:12 CDT 2005
Packit a6a12c
    [FIXES]
Packit a6a12c
    * Added some includes in t/strap-analyze.t to make Cygwin happy.
Packit a6a12c
Packit a6a12c
2.49_02 Tue Jun 21 09:54:44 CDT 2005
Packit a6a12c
    [FIXES]
Packit a6a12c
    * Added some includes in t/test_harness.t to make Cygwin happy.
Packit a6a12c
Packit a6a12c
2.49_01 Fri Jun 10 15:37:31 CDT 2005
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    * Now shows elapsed time in 1000ths of a second if Time::HiRes
Packit a6a12c
      is available.
Packit a6a12c
Packit a6a12c
    [FIXES]
Packit a6a12c
    * Test::Harness::Iterator didn't have a 1; at the end.  Thanks to
Packit a6a12c
      Steve Peters for finding it.
Packit a6a12c
Packit a6a12c
2.48    Fri Apr 22 22:41:46 CDT 2005
Packit a6a12c
    Released after weeks of non-complaint.
Packit a6a12c
Packit a6a12c
2.47_03 Wed Mar  2 16:52:55 CST 2005
Packit a6a12c
    [THINGS THAT MIGHT BREAK YOUR CODE]
Packit a6a12c
    * Test::Harness now requires Perl 5.005_03 or above.
Packit a6a12c
Packit a6a12c
    [FIXES]
Packit a6a12c
    * Fixed incorrect "confused by tests in wrong order" error in 2.47_02.
Packit a6a12c
Packit a6a12c
2.47_02 Tue Mar  1 23:15:47 CST 2005
Packit a6a12c
    [THINGS THAT MIGHT BREAK YOUR CODE]
Packit a6a12c
    * Test directives for skip tests used to be anything that matches
Packit a6a12c
      /^skip/i, like the word "skipped", but now it must match
Packit a6a12c
      /^skip\s+/i.
Packit a6a12c
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    * T::H now sets environment variable HARNESS_VERSION, in case a test
Packit a6a12c
      program wants to know what version of T::H it's running under.
Packit a6a12c
Packit a6a12c
2.47_01 Mon Feb 21 01:14:13 CST 2005
Packit a6a12c
    [FIXES]
Packit a6a12c
    * Fixed a problem submitted by Craig Berry:
Packit a6a12c
Packit a6a12c
        Several of the Test::Harness tests now fail on VMS with the
Packit a6a12c
        following warning:
Packit a6a12c
Packit a6a12c
        Can't find string terminator "]" anywhere before EOF at -e line 1.
Packit a6a12c
Packit a6a12c
        The problem is that when a command is piped to the shell and that
Packit a6a12c
        command has a newline character embedded in it, the part after
Packit a6a12c
        the newline is invisible to the shell. The patch below corrects
Packit a6a12c
        that by escaping the newline so it is not subject to variable
Packit a6a12c
        interpolation until it gets to the child's Perl one-liner.
Packit a6a12c
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    * Test::Harness::Straps now has diagnostic gathering without changing
Packit a6a12c
      how tests are run.  It also adds these messages by default.
Packit a6a12c
      Note that the new method, _is_diagnostic(), is for internal
Packit a6a12c
      use only.  It may change soon.  Thanks to chromatic.
Packit a6a12c
Packit a6a12c
    [DOCUMENTATION]
Packit a6a12c
    * Expanded Test::Harness::TAP.pod, and added examples.
Packit a6a12c
Packit a6a12c
    * Fixed a crucial documentation typo in Test::Harness::Straps.
Packit a6a12c
Packit a6a12c
2.46    Thu Jan 20 11:50:59 CST 2005
Packit a6a12c
    Released.
Packit a6a12c
Packit a6a12c
2.45_02 Fri Dec 31 14:57:33 CST 2004
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    * Turns off buffering on both STDERR and STDOUT, so that the two
Packit a6a12c
      output handles don't get out of sync with each other.  Thanks to
Packit a6a12c
      David Wheeler.
Packit a6a12c
Packit a6a12c
    * No longer requires, or supports, the HARNESS_OK_SLOW environment
Packit a6a12c
      variable.  Test counts are only updated once per second, which
Packit a6a12c
      used to require having HARNESS_OK_SLOW set.
Packit a6a12c
Packit a6a12c
2.45_01 Fri Dec 17 22:39:17 CST 2004
Packit a6a12c
    [THINGS THAT MIGHT BREAK YOUR CODE]
Packit a6a12c
    * Test::Harness now requires Perl 5.004_05.
Packit a6a12c
Packit a6a12c
    * We no longer try to print a stack if a coredump is detected.
Packit a6a12c
Packit a6a12c
    [FIXES]
Packit a6a12c
    * Reverted Test::Harness::Iterator::next()'s use of readline, since
Packit a6a12c
      it fails under Perl 5.5.4.
Packit a6a12c
Packit a6a12c
    * We no longer try to print a stack if a coredump is detected.
Packit a6a12c
      This means that the external problems we've had with wait.ph
Packit a6a12c
      now disappear.  This resolves a number of problems that various
Packit a6a12c
      Linux distros have, and closes a couple of RT tickets like #2729
Packit a6a12c
      and #7716.
Packit a6a12c
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    * Added Test::Harness->strap() method to access the internal strap.
Packit a6a12c
Packit a6a12c
    [DOCUMENTATION]
Packit a6a12c
    * Obfuscated the rt.cpan.org email address.  The damage is already
Packit a6a12c
      done, but at least we'll have it hidden going forward.
Packit a6a12c
Packit a6a12c
2.44 Tue Nov 30 18:38:17 CST 2004
Packit a6a12c
    [INTERNALS]
Packit a6a12c
    * De-anonymized the callbacks and handlers in Test::Harness, mostly
Packit a6a12c
      so I can profile better.
Packit a6a12c
Packit a6a12c
    * Checks _is_header() only if _is_line() fails first.  No point
Packit a6a12c
      in checking every line of the input for something that can only
Packit a6a12c
      occur once.
Packit a6a12c
Packit a6a12c
    * Inline the _detailize() function, which was getting called once
Packit a6a12c
      per line of input.  Reduced execution time about 5-7%.
Packit a6a12c
Packit a6a12c
    * Removed unnecessary temporary variables in Test::Harness::Straps
Packit a6a12c
      and in Test::Harness::Iterator.
Packit a6a12c
Packit a6a12c
2.43_02 Thu Nov 25 00:20:36 CST 2004
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    * Added more debug output if $Test::Harness::Debug is on.
Packit a6a12c
Packit a6a12c
    [FIXES]
Packit a6a12c
    * Test::Harness now removes default paths from the paths that it
Packit a6a12c
      sets in PERL5LIB.  This fixes RT #5649.  Thanks, Schwern.
Packit a6a12c
Packit a6a12c
    [THINGS THAT MIGHT BREAK YOUR CODE]
Packit a6a12c
    * Test::Harness::Straps' constructor no longer will work as an
Packit a6a12c
      object method.  You can't say $strap->new any more, but that's
Packit a6a12c
      OK because you never really wanted to anyway.
Packit a6a12c
Packit a6a12c
2.43_01
Packit a6a12c
    [FIXES]
Packit a6a12c
    * Added workaround for local $ENV{} bug on Cygwin to
Packit a6a12c
    t/prove-switches.t.  See the following RT tickets for details.
Packit a6a12c
Packit a6a12c
    https://rt.cpan.org/Ticket/Display.html?id=6452
Packit a6a12c
    http://rt.perl.org/rt3/Ticket/Display.html?id=30952
Packit a6a12c
Packit a6a12c
Packit a6a12c
2.42        Wed Apr 28 22:13:11 CDT 2004
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    * prove -v now sets TEST_VERBOSE in case your tests rely on them.
Packit a6a12c
    * prove globs the command line, since Win32's shell doesn't.
Packit a6a12c
Packit a6a12c
    [FIXES]
Packit a6a12c
    * Cross-platform test fixes on t/prove-globbing.t
Packit a6a12c
Packit a6a12c
Packit a6a12c
2.40        Tue Dec 30 20:38:59 CST 2003
Packit a6a12c
    [FIXES]
Packit a6a12c
    * Test::Harness::Straps should now properly quote on VMS.
Packit a6a12c
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    * prove now takes a -l option to add lib/ to @INC.  Now when you're
Packit a6a12c
      building a module, you don't have to do a make before you run
Packit a6a12c
      the prove.  Thanks to David Wheeler for the idea.
Packit a6a12c
Packit a6a12c
    [INTERNALS]
Packit a6a12c
    * Internal functions corestatus() and canonfailed() prepended with
Packit a6a12c
      underscores, to indicate such.
Packit a6a12c
Packit a6a12c
    * Gratuitous text-only changes in Test::Harness::Iterator.
Packit a6a12c
Packit a6a12c
    * All tests now do their use_ok() in a BEGIN block.  Some of the
Packit a6a12c
      use_ok() calls were too much of a hassle to put into a BEGIN block,
Packit a6a12c
      so I changed them to regular use calls.
Packit a6a12c
Packit a6a12c
Packit a6a12c
2.38        Mon Nov 24 22:36:18 CST 2003
Packit a6a12c
    Released.  See changes below.
Packit a6a12c
Packit a6a12c
2.37_03     Tue Nov 18 23:51:38 CST 2003
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    * prove -V now shows the Perl version being used.
Packit a6a12c
    * Now there's a HARNESS_DEBUG flag that shows diagnostics as the
Packit a6a12c
      harness runs the tests.  This is different from HARNESS_VERBOSE,
Packit a6a12c
      which shows test output, but not information about the harness
Packit a6a12c
      itself.
Packit a6a12c
    * Added _command_line() to the Strap API.
Packit a6a12c
Packit a6a12c
    [FIXES]
Packit a6a12c
    * Bad interaction with Module::Build:  The strap was only checking
Packit a6a12c
      $ENV{HARNESS_PERL_SWITCHES} for definedness, but not emptiness.
Packit a6a12c
      It now also strips any leading or trailing whitesapce from the
Packit a6a12c
      switches.
Packit a6a12c
    * Test::Harness and prove only quote those parms that actually need
Packit a6a12c
      to be quoted: Have some whitespace and aren't already quoted.
Packit a6a12c
Packit a6a12c
2.36        Fri Nov 14 09:24:44 CST 2003
Packit a6a12c
    [FIXES]
Packit a6a12c
    * t/prove-includes.t properly ignores PROVE_SWITCHES that you may
Packit a6a12c
      already have set.
Packit a6a12c
Packit a6a12c
2.35_02     Thu Nov 13 09:57:36 CST 2003
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    * prove's --blib now works just like the blib pragma.
Packit a6a12c
Packit a6a12c
2.35_01     Wed Nov 12 23:08:45 CST 2003
Packit a6a12c
    [FIXES]
Packit a6a12c
    * Fixed taint-handling and path preservation under MacOS.  Thanks to
Packit a6a12c
      Schwern for the patch and the tests.
Packit a6a12c
Packit a6a12c
    * Preserves case of -t or -T in the shebang line of the test.
Packit a6a12c
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    * Added -t to prove analogous to Perl's -t.  Removed the --taint
Packit a6a12c
      switch.
Packit a6a12c
Packit a6a12c
    * prove can take default options from the PROVE_SWITCHES variable.
Packit a6a12c
Packit a6a12c
    * Added HARNESS_PERL to allow you to specify the Perl interpreter
Packit a6a12c
      to run the tests as.
Packit a6a12c
Packit a6a12c
    * prove's --perl switch sets the HARNESS_PERL on the fly for you.
Packit a6a12c
Packit a6a12c
    * Quotes the switches and filename in the subprogram.  This helps
Packit a6a12c
      with filenames with spaces that are subject to shell mangling.
Packit a6a12c
Packit a6a12c
Packit a6a12c
2.34        Sat Nov  8 22:09:15 CST 2003
Packit a6a12c
    [FIXES]
Packit a6a12c
    * Allowed prove to run on Perl versions < 5.6.0.
Packit a6a12c
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    * Command-line switches to prove may now be stacked.
Packit a6a12c
    * Added check for proper Pod::Usage version.
Packit a6a12c
    * "make clean" does a better job of cleaning up after itself.
Packit a6a12c
Packit a6a12c
Packit a6a12c
2.32        Fri Nov  7 09:41:21 CST 2003
Packit a6a12c
    Test::Harness now includes a powerful development tool to help
Packit a6a12c
    programmers work with automated tests.  The prove utility runs
Packit a6a12c
    test files against the harness, like a "make test", but with many
Packit a6a12c
    advantages:
Packit a6a12c
Packit a6a12c
    * prove is designed as a development tool
Packit a6a12c
        Perl users typically run the test harness through a makefile via
Packit a6a12c
        "make test". That's fine for module distributions, but it's
Packit a6a12c
        suboptimal for a test/code/debug development cycle.
Packit a6a12c
Packit a6a12c
    * prove is granular
Packit a6a12c
        prove lets your run against only the files you want to check.
Packit a6a12c
        Running "prove t/live/ t/master.t" checks every *.t in t/live, plus
Packit a6a12c
        t/master.t.
Packit a6a12c
Packit a6a12c
    * prove has an easy verbose mode
Packit a6a12c
        To get full test program output from "make test", you must set
Packit a6a12c
        "HARNESS_VERBOSE" in the environment. prove has a "-v" option.
Packit a6a12c
Packit a6a12c
    * prove can run under taint mode
Packit a6a12c
        prove's "-T" runs your tests under "perl -T".
Packit a6a12c
Packit a6a12c
    * prove can shuffle tests
Packit a6a12c
        You can use prove's "--shuffle" option to try to excite problems
Packit a6a12c
        that don't show up when tests are run in the same order every time.
Packit a6a12c
Packit a6a12c
    * Not everything is a module
Packit a6a12c
        More and more users are using Perl's testing tools outside the
Packit a6a12c
        context of a module distribution, and may not even use a makefile at
Packit a6a12c
        all.
Packit a6a12c
Packit a6a12c
    Prove requires Pod::Usage, which is standard after Perl 5.004.
Packit a6a12c
Packit a6a12c
    I'm very excited about prove, and hope that developers will begin
Packit a6a12c
    adopting it to their coding cycles.  I welcome your comments at
Packit a6a12c
    andy@petdance.com.
Packit a6a12c
Packit a6a12c
    There are also some minor bug fixes in Test::Harness itself, listed
Packit a6a12c
    below in the 2.31_* notes.
Packit a6a12c
     
Packit a6a12c
Packit a6a12c
2.31_05     Thu Nov  6 14:56:22 CST 2003
Packit a6a12c
    [FIXES]
Packit a6a12c
    - If a MacPerl script had a shebang with -T, the -T wouldn't get
Packit a6a12c
      passed as a switch.
Packit a6a12c
    - Removed the -T on three *.t files, which didn't need them, and 
Packit a6a12c
      which were causing problems.
Packit a6a12c
    - Conditionally installs bin/prove, depending on whether Pod::Usage
Packit a6a12c
      is available, which prove needs.
Packit a6a12c
    - Removed old leftover code from Makefile.PL.
Packit a6a12c
Packit a6a12c
2.31_04     Mon Nov  3 23:36:06 CST 2003
Packit a6a12c
    Minor tweaks here and there, almost ready to release.
Packit a6a12c
Packit a6a12c
2.31_03     Mon Nov  3 08:50:36 CST 2003
Packit a6a12c
    [FEATURES]
Packit a6a12c
    - prove is almost feature-complete.  Removed the handling of
Packit a6a12c
      --exclude for excluding certain tests.  It may go back in the
Packit a6a12c
      future.
Packit a6a12c
    - prove -d is now debug.  Dry is prove -D.
Packit a6a12c
Packit a6a12c
2.31_02     Fri Oct 31 23:46:03 CST 2003
Packit a6a12c
    [FEATURES]
Packit a6a12c
    - Added many more switches to prove: -d for dry run, and -b for
Packit a6a12c
      blib.
Packit a6a12c
Packit a6a12c
    [FIXES]
Packit a6a12c
    - T:H:Straps now recognizes MSWin32 in $^0.
Packit a6a12c
    - RT#3811: Could do regex matching on garbage in _is_test().
Packit a6a12c
      Fixed by Yves Orton
Packit a6a12c
    - RT#3827: Strips backslashes from and normalizes @INC entries
Packit a6a12c
      for Win32.  Fixed by Yves Orton.
Packit a6a12c
Packit a6a12c
    [INTERNALS]
Packit a6a12c
    - Added $self->{_is_macos} to the T:H:Strap object.
Packit a6a12c
    - t/test-harness.t sorts its test results, rather than relying on
Packit a6a12c
      internal key order.
Packit a6a12c
Packit a6a12c
2.31_01
Packit a6a12c
    [FEATURES]
Packit a6a12c
    - Added "prove" script to run a test or set of tests through the
Packit a6a12c
      harness.  Thanks to Curtis Poe for the foundation.
Packit a6a12c
Packit a6a12c
    [DOCUMENTATION]
Packit a6a12c
    - Fixed POD problem in Test::Harness::Assert
Packit a6a12c
Packit a6a12c
2.30        Thu Aug 14 20:04:00 CDT 2003
Packit a6a12c
    No functional changes in this version.  It's only to make some doc
Packit a6a12c
    tweaks, and bump up the version number in T:H:Straps.
Packit a6a12c
Packit a6a12c
    [DOCUMENTATION]
Packit a6a12c
    - Changed Schwern to Andy as the maintainer.
Packit a6a12c
    - Incorporated the TODO file into Harness.pm proper.
Packit a6a12c
    - Cleaned up formatting in Test::Harness::Straps.
Packit a6a12c
Packit a6a12c
2.29        Wed Jul 17 14:08:00 CDT 2003
Packit a6a12c
    - Released as 2.29.
Packit a6a12c
Packit a6a12c
2.28_91     Sun Jul 13 00:10:00 CDT 2003
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    - Added support for HARNESS_OK_SLOW.  This will make a significant
Packit a6a12c
      speedup for slower connections.
Packit a6a12c
    - Folded in some changes from bleadperl that spiff up the
Packit a6a12c
      failure reports.
Packit a6a12c
Packit a6a12c
    [INTERNALS]
Packit a6a12c
    - Added some isa_ok() checks to the tests.
Packit a6a12c
    - All Test::Harness* modules are used by use_ok()
Packit a6a12c
    - Fixed the prototype for the canonfailed() function, not that
Packit a6a12c
      it matters since it's never called without parens.
Packit a6a12c
Packit a6a12c
2.28_90     Sat Jul 05 20:21:00 CDT 2003
Packit a6a12c
    [ENHANCEMENTS]
Packit a6a12c
    - Now, when you run a test harnessed, the numbers don't fly by one
Packit a6a12c
      at a time, one update per second.  This significantly speeds
Packit a6a12c
      up the run time for running thousands of tests.  *COUGH*
Packit a6a12c
      Regexp::Common *COUGH*
Packit a6a12c
Packit a6a12c
2.28     Thu Apr 24 14:39:00 CDT 2003
Packit a6a12c
    - No functional changes.
Packit a6a12c
Packit a6a12c
2.27_05  Mon Apr 21 15:55:00 CDT 2003
Packit a6a12c
    - No functional changes.
Packit a6a12c
    - Fixed circular depency in the test suite.  Thanks, Rob Brown.
Packit a6a12c
Packit a6a12c
2.27_04  Sat Apr 12 21:42:00 CDT 2003
Packit a6a12c
    - Added test for $Test::Harness::Switches patch below.
Packit a6a12c
Packit a6a12c
2.27_03  Thu Apr 03 10:47:00 CDT 2003
Packit a6a12c
    - Fixed straps not respecting $Test::Harness::Switches.  Thanks
Packit a6a12c
      to Miyagawa for the patch.
Packit a6a12c
    - Added t/pod.t to test POD validity.
Packit a6a12c
Packit a6a12c
2.27_02  Mon Mar 24 13:17:00 CDT 2003
Packit a6a12c
2.27_01  Sun Mar 23 19:46:00 CDT 2003
Packit a6a12c
    - Handed over to Andy Lester for further maintenance.
Packit a6a12c
    - Fixed when the path to perl contains spaces on Windows
Packit a6a12c
    * Stas Bekman noticed that tests with no output at all were
Packit a6a12c
      interpreted as passing
Packit a6a12c
    - MacPerl test tweak for busted exit codes (bleadperl 17345)
Packit a6a12c
    - Abigail and Nick Clark both hit the 100000 "huge test that will
Packit a6a12c
      suck up all your memory" limit with legit tests.  Made the check
Packit a6a12c
      smarter to allow large, planned tests to work.
Packit a6a12c
    - Partial fix of stats display when a test fails only because there's
Packit a6a12c
      too many tests.
Packit a6a12c
    - Made wait.ph and WCOREDUMP anti-vommit protection more robust in
Packit a6a12c
      cases where wait.ph loads but WCOREDUMP() pukes when run.
Packit a6a12c
    - Added a LICENSE.
Packit a6a12c
    - Ilya noticed the per test skip reason was accumlating between tests.
Packit a6a12c
Packit a6a12c
2.26  Wed Jun 19 16:58:02 EDT 2002
Packit a6a12c
    - Workaround for MacPerl's lack of a working putenv.  It will never 
Packit a6a12c
      see the PERL5LIB environment variable (perl@16942).
Packit a6a12c
Packit a6a12c
2.25  Sun Jun 16 03:00:33 EDT 2002
Packit a6a12c
    - $Strap is now a global to allow Test::Harness::Straps
Packit a6a12c
      experimentation.
Packit a6a12c
    - Little spelling nit in a diagnostic.
Packit a6a12c
    - Chris Richmond noted that the runtests() docs were wrong.  It will
Packit a6a12c
      die, not return false, when any tests fail.  This is silly, but
Packit a6a12c
      historically necessary for 'make test'.  Docs corrected.
Packit a6a12c
    - MacPerl test fixes from Pudge. (mutation of bleadperl@16989)
Packit a6a12c
    - Undef warning introduced in 2.24 on skipped tests with no reasons 
Packit a6a12c
      fixed.
Packit a6a12c
    * Test::Harness now depends on File::Spec
Packit a6a12c
Packit a6a12c
2.24  Wed May 29 19:02:18 EDT 2002
Packit a6a12c
    * Nikola Knezevic found a bug when tests are completely skipped
Packit a6a12c
      but no reason is given it was considered a failure.
Packit a6a12c
    * Made Test::Harness::Straps->analyze_file & Test::Harness a bit
Packit a6a12c
      more graceful when the test doesn't exist.
Packit a6a12c
Packit a6a12c
2.23  Wed May 22 12:59:47 EDT 2002
Packit a6a12c
    - reason for all skip wasn't being displayed.  Broken in 2.20.
Packit a6a12c
    - Changed the wait status tests to conform with POSIX standards.
Packit a6a12c
    - Quieted some SYSTEM$ABORT noise leaking out from dying test tests
Packit a6a12c
      on VMS.
Packit a6a12c
Packit a6a12c
2.22  Fri May 17 19:01:35 EDT 2002
Packit a6a12c
    - Fixed parsing of #!/usr/bin/perl-current to not see a -t.
Packit a6a12c
      (RT #574)
Packit a6a12c
    - Fixed exit codes on MPE/iX
Packit a6a12c
Packit a6a12c
2.21  Mon May  6 00:43:22 EDT 2002
Packit a6a12c
    - removed a bunch of dead code left over after 2.20's gutting.
Packit a6a12c
    - The fix for the $^X "bug" added in 2.02 has been removed.  It
Packit a6a12c
      caused more trouble than the old bug (I'd never seen a problem
Packit a6a12c
      before anyway)
Packit a6a12c
    - 2.20 broke $verbose
Packit a6a12c
Packit a6a12c
2.20  Sat May  4 22:31:20 EDT 2002
Packit a6a12c
    * An almost complete conversion of the Test::Harness test parsing
Packit a6a12c
      to use Test::Harness::Straps.
Packit a6a12c
Packit a6a12c
2.04  Tue Apr 30 00:54:49 EDT 2002
Packit a6a12c
    * Changing the output format of skips
Packit a6a12c
    - Taking into account VMS's special exit codes in the tests.
Packit a6a12c
Packit a6a12c
2.03  Thu Apr 25 01:01:34 EDT 2002
Packit a6a12c
    * $^X fix made safer.
Packit a6a12c
    - Noise from loading wait.ph to analyze core files supressed
Packit a6a12c
    - MJD found a situation where a test could run Test::Harness
Packit a6a12c
      out of memory.  Protecting against that specific case.
Packit a6a12c
    - Made the 1..M docs a bit clearer.
Packit a6a12c
    - Fixed TODO tests so Test::Harness does not display a NOK for
Packit a6a12c
      them.
Packit a6a12c
    - Test::Harness::Straps->analyze_file() docs were not clear as to
Packit a6a12c
      its effects
Packit a6a12c
Packit a6a12c
2.02  Thu Mar 14 18:06:04 EST 2002
Packit a6a12c
    * Ken Williams fixed the long standing $^X bug.
Packit a6a12c
    * Added HARNESS_VERBOSE
Packit a6a12c
    * Fixed a bug where Test::Harness::Straps was considering a test that 
Packit a6a12c
      is ok but died as passing.
Packit a6a12c
    - Added the exit and wait codes of the test to the 
Packit a6a12c
      analyze_file() results.
Packit a6a12c
Packit a6a12c
2.01  Thu Dec 27 18:54:36 EST 2001
Packit a6a12c
    * Added 'passing' to the results to tell you if the test passed
Packit a6a12c
    * Added Test::Harness::Straps example (examples/mini_harness.plx)
Packit a6a12c
    * Header-at-end tests were being interpreted as failing sometimes
Packit a6a12c
    - The 'skip_all' results from analyze* was not being set
Packit a6a12c
    - analyze_fh() and analyze_file() now work more efficiently, reading
Packit a6a12c
      line-by-line instead of slurping as before.
Packit a6a12c
Packit a6a12c
2.00  Sun Dec 23 19:13:57 EST 2001
Packit a6a12c
    - Fixed a warning on VMS.
Packit a6a12c
    - Removed a little unnecessary code from analyze_file()
Packit a6a12c
    - Made sure filehandles are getting closed
Packit a6a12c
    - analyze() now considers "not \nok" to be a failure (VMSism)
Packit a6a12c
      but Test::Harness still doesn't.
Packit a6a12c
Packit a6a12c
2.00_05 Mon Dec 17 22:08:02 EST 2001
Packit a6a12c
    * Wasn't filtering @INC properly when a test is run with -T, caused the 
Packit a6a12c
      command line to be too long on VMS.  VMS should be 100% now.
Packit a6a12c
    - Little bug in the skip 'various reasons' logic.
Packit a6a12c
    - Minor POD nit in 5.004_04
Packit a6a12c
    - Little speling mistak
Packit a6a12c
Packit a6a12c
2.00_04 Sun Dec 16 00:33:32 EST 2001
Packit a6a12c
    * Major Test::Harness::Straps doc bug.
Packit a6a12c
Packit a6a12c
2.00_03 Sat Dec 15 23:52:17 EST 2001
Packit a6a12c
    * First release candidate
Packit a6a12c
    * 'summary' is now 'details'
Packit a6a12c
    * Test #1 is now element 0 on the details array.  It works out better
Packit a6a12c
      that way.
Packit a6a12c
    * analyze_file() is more portable, but no longer taint clean
Packit a6a12c
    * analyze_file() properly preserves @INC and handles -T switches
Packit a6a12c
    - minor mistake in the test header line parsing
Packit a6a12c
Packit a6a12c
1.26  Mon Nov 12 15:44:01 EST 2001
Packit a6a12c
    * An excuse to upload a new version to CPAN to get Test::Harness
Packit a6a12c
      back on the index.
Packit a6a12c
Packit a6a12c
2.00_00  Sat Sep 29 00:12:03 EDT 2001
Packit a6a12c
    * Partial gutting of the internals
Packit a6a12c
    * Added Test::Harness::Straps
Packit a6a12c
Packit a6a12c
1.25  Tue Aug  7 08:51:09 EDT 2001
Packit a6a12c
    * Fixed a bug with tests failing if they're all skipped
Packit a6a12c
      reported by Stas Bekman.
Packit a6a12c
    - Fixed a very minor warning in 5.004_04
Packit a6a12c
    - Fixed displaying filenames not from @ARGV
Packit a6a12c
    - Merging with bleadperl
Packit a6a12c
    -  minor fixes to the filename in the report
Packit a6a12c
    -  '[no reason given]' skip reason
Packit a6a12c
Packit a6a12c
1.24  Tue Aug  7 08:51:09 EDT 2001
Packit a6a12c
    - Added internal information about number of todo tests
Packit a6a12c
Packit a6a12c
1.23  Tue Jul 31 15:06:47 EDT 2001
Packit a6a12c
    - Merged in Ilya's "various reasons" patch
Packit a6a12c
    * Fixed "not ok 23 - some name # TODO" style tests
Packit a6a12c
Packit a6a12c
1.22  Mon Jun 25 02:00:02 EDT 2001
Packit a6a12c
    * Fixed bug with failing tests using header at end.
Packit a6a12c
    - Documented how Test::Harness deals with garbage input
Packit a6a12c
    - Turned on test counter mismatch warning
Packit a6a12c
Packit a6a12c
1.21  Wed May 23 19:22:53 BST 2001
Packit a6a12c
    * No longer considered unstable.  Merging back with the perl core.
Packit a6a12c
    - Fixed minor nit about the report summary
Packit a6a12c
    - Added docs on the meaning of the failure report
Packit a6a12c
    - Minor POD nits fixed mirroring perl change 9176
Packit a6a12c
    - TODO and SEE ALSO expanded
Packit a6a12c
Packit a6a12c
1.20  Wed Mar 14 23:09:20 GMT 2001 by Michael G Schwern    *UNSTABLE*
Packit a6a12c
    * Fixed and tested with 5.004!
Packit a6a12c
    - Added EXAMPLE docs
Packit a6a12c
    - Added TODO docs
Packit a6a12c
    - Now uneffected by -l, $\ or $,
Packit a6a12c
Packit a6a12c
1.19  Sat Mar 10 00:43:29 GMT 2001 by Michael G Schwern    *UNSTABLE*
Packit a6a12c
    - More internal reworking
Packit a6a12c
    * Removed use of experimental /(?>...)/ feature for backwards compat
Packit a6a12c
    * Removed use of open(my $fh, $file) for backwards compatibility
Packit a6a12c
    * Removed use of Tie::StdHandle in tests for backwards compat
Packit a6a12c
    * Added dire warning that this is unstable.
Packit a6a12c
    - Added some tests from the old CPAN release
Packit a6a12c
Packit a6a12c
1.18  Mon Mar  5 17:35:11 GMT 2001 by Michael G Schwern
Packit a6a12c
    * Under new management!
Packit a6a12c
    * Test::Harness is now being concurrently shipped on CPAN as well
Packit a6a12c
      as in the core.
Packit a6a12c
    - Switched "our" for "use vars" and moved the minimum version back
Packit a6a12c
      to 5.004.  This may be optimistic.
Packit a6a12c
Packit a6a12c
Packit a6a12c
*** Missing version history to be extracted from Perl changes ***
Packit a6a12c
Packit a6a12c
Packit a6a12c
1.07  Fri Feb 23 1996 by Andreas Koenig
Packit a6a12c
    - Gisle sent me a documentation patch that showed me, that the
Packit a6a12c
      unless(/^#/) is unnessessary. Applied the patch and deleted the block
Packit a6a12c
      checking for "comment" lines. -- All lines are comment lines that do
Packit a6a12c
      not match /^1\.\.([0-9]+)/ or /^(not\s+)?ok\b/.
Packit a6a12c
    - Ilyaz request to print "ok (empty test case)" whenever we say 1..0
Packit a6a12c
      implemented.
Packit a6a12c
    - Harness now doesn't abort anymore if we received confused test output,
Packit a6a12c
      just warns instead.
Packit a6a12c
Packit a6a12c
1.05  Wed Jan 31 1996 by Andreas Koenig
Packit a6a12c
    - More updates on docu and introduced the liberality that the script
Packit a6a12c
      output may omit the test numbers.
Packit a6a12c
Packit a6a12c
1.03  Mon January 28 1996 by Andreas Koenig
Packit a6a12c
    - Added the statistics for subtests. Updated the documentation.
Packit a6a12c
Packit a6a12c
1.02  by Andreas Koenig
Packit a6a12c
    - This version reports a list of the tests that failed accompanied by
Packit a6a12c
      some trivial statistics. The older (unnumbered) version stopped
Packit a6a12c
      processing after the first failed test.
Packit a6a12c
    - Additionally it reports the exit status if there is one.
Packit a6a12c
Packit a6a12c