Upgrade to Test::Harness 2.49_02
[p5sagit/p5-mst-13.2.git] / lib / Test / Harness / Changes
1 Revision history for Perl extension Test::Harness
2
3 2.49_02 Tue Jun 21 09:54:44 CDT 2005
4     [FIXES]
5     * Added some includes in t/test_harness.t to make Cygwin happy.
6
7 2.49_01 Fri Jun 10 15:37:31 CDT 2005
8     [ENHANCEMENTS]
9     * Now shows elapsed time in 1000ths of a second if Time::HiRes
10       is available.
11
12     [FIXES]
13     * Test::Harness::Iterator didn't have a 1; at the end.  Thanks to
14       Steve Peters for finding it.
15
16 2.48    Fri Apr 22 22:41:46 CDT 2005
17     Released after weeks of non-complaint.
18
19 2.47_03 Wed Mar  2 16:52:55 CST 2005
20     [THINGS THAT MIGHT BREAK YOUR CODE]
21     * Test::Harness now requires Perl 5.005_03 or above.
22
23     [FIXES]
24     * Fixed incorrect "confused by tests in wrong order" error in 2.47_02.
25
26 2.47_02 Tue Mar  1 23:15:47 CST 2005
27     [THINGS THAT MIGHT BREAK YOUR CODE]
28     * Test directives for skip tests used to be anything that matches
29       /^skip/i, like the word "skipped", but now it must match
30       /^skip\s+/i.
31
32     [ENHANCEMENTS]
33     * T::H now sets environment variable HARNESS_VERSION, in case a test
34       program wants to know what version of T::H it's running under.
35
36 2.47_01 Mon Feb 21 01:14:13 CST 2005
37     [FIXES]
38     * Fixed a problem submitted by Craig Berry:
39
40         Several of the Test::Harness tests now fail on VMS with the
41         following warning:
42
43         Can't find string terminator "]" anywhere before EOF at -e line 1.
44
45         The problem is that when a command is piped to the shell and that
46         command has a newline character embedded in it, the part after
47         the newline is invisible to the shell. The patch below corrects
48         that by escaping the newline so it is not subject to variable
49         interpolation until it gets to the child's Perl one-liner.
50
51     [ENHANCEMENTS]
52     * Test::Harness::Straps now has diagnostic gathering without changing
53       how tests are run.  It also adds these messages by default.
54       Note that the new method, _is_diagnostic(), is for internal
55       use only.  It may change soon.  Thanks to chromatic.
56
57     [DOCUMENTATION]
58     * Expanded Test::Harness::TAP.pod, and added examples.
59
60     * Fixed a crucial documentation typo in Test::Harness::Straps.
61
62 2.46    Thu Jan 20 11:50:59 CST 2005
63     Released.
64
65 2.45_02 Fri Dec 31 14:57:33 CST 2004
66     [ENHANCEMENTS]
67     * Turns off buffering on both STDERR and STDOUT, so that the two
68       output handles don't get out of sync with each other.  Thanks to
69       David Wheeler.
70
71     * No longer requires, or supports, the HARNESS_OK_SLOW environment
72       variable.  Test counts are only updated once per second, which
73       used to require having HARNESS_OK_SLOW set.
74
75 2.45_01 Fri Dec 17 22:39:17 CST 2004
76     [THINGS THAT MIGHT BREAK YOUR CODE]
77     * Test::Harness now requires Perl 5.004_05.
78
79     * We no longer try to print a stack if a coredump is detected.
80
81     [FIXES]
82     * Reverted Test::Harness::Iterator::next()'s use of readline, since
83       it fails under Perl 5.5.4.
84
85     * We no longer try to print a stack if a coredump is detected.
86       This means that the external problems we've had with wait.ph
87       now disappear.  This resolves a number of problems that various
88       Linux distros have, and closes a couple of RT tickets like #2729
89       and #7716.
90
91     [ENHANCEMENTS]
92     * Added Test::Harness->strap() method to access the internal strap.
93
94     [DOCUMENTATION]
95     * Obfuscated the rt.cpan.org email address.  The damage is already
96       done, but at least we'll have it hidden going forward.
97
98 2.44 Tue Nov 30 18:38:17 CST 2004
99     [INTERNALS]
100     * De-anonymized the callbacks and handlers in Test::Harness, mostly
101       so I can profile better.
102
103     * Checks _is_header() only if _is_line() fails first.  No point
104       in checking every line of the input for something that can only
105       occur once.
106
107     * Inline the _detailize() function, which was getting called once
108       per line of input.  Reduced execution time about 5-7%.
109
110     * Removed unnecessary temporary variables in Test::Harness::Straps
111       and in Test::Harness::Iterator.
112
113 2.43_02 Thu Nov 25 00:20:36 CST 2004
114     [ENHANCEMENTS]
115     * Added more debug output if $Test::Harness::Debug is on.
116
117     [FIXES]
118     * Test::Harness now removes default paths from the paths that it
119       sets in PERL5LIB.  This fixes RT #5649.  Thanks, Schwern.
120
121     [THINGS THAT MIGHT BREAK YOUR CODE]
122     * Test::Harness::Straps' constructor no longer will work as an
123       object method.  You can't say $strap->new any more, but that's
124       OK because you never really wanted to anyway.
125
126 2.43_01
127     [FIXES]
128     * Added workaround for local $ENV{} bug on Cygwin to
129     t/prove-switches.t.  See the following RT tickets for details.
130
131     https://rt.cpan.org/Ticket/Display.html?id=6452
132     http://rt.perl.org/rt3/Ticket/Display.html?id=30952
133
134
135 2.42        Wed Apr 28 22:13:11 CDT 2004
136     [ENHANCEMENTS]
137     * prove -v now sets TEST_VERBOSE in case your tests rely on them.
138     * prove globs the command line, since Win32's shell doesn't.
139
140     [FIXES]
141     * Cross-platform test fixes on t/prove-globbing.t
142
143
144 2.40        Tue Dec 30 20:38:59 CST 2003
145     [FIXES]
146     * Test::Harness::Straps should now properly quote on VMS.
147
148     [ENHANCEMENTS]
149     * prove now takes a -l option to add lib/ to @INC.  Now when you're
150       building a module, you don't have to do a make before you run
151       the prove.  Thanks to David Wheeler for the idea.
152
153     [INTERNALS]
154     * Internal functions corestatus() and canonfailed() prepended with
155       underscores, to indicate such.
156
157     * Gratuitous text-only changes in Test::Harness::Iterator.
158
159     * All tests now do their use_ok() in a BEGIN block.  Some of the
160       use_ok() calls were too much of a hassle to put into a BEGIN block,
161       so I changed them to regular use calls.
162
163
164 2.38        Mon Nov 24 22:36:18 CST 2003
165     Released.  See changes below.
166
167 2.37_03     Tue Nov 18 23:51:38 CST 2003
168     [ENHANCEMENTS]
169     * prove -V now shows the Perl version being used.
170     * Now there's a HARNESS_DEBUG flag that shows diagnostics as the
171       harness runs the tests.  This is different from HARNESS_VERBOSE,
172       which shows test output, but not information about the harness
173       itself.
174     * Added _command_line() to the Strap API.
175
176     [FIXES]
177     * Bad interaction with Module::Build:  The strap was only checking
178       $ENV{HARNESS_PERL_SWITCHES} for definedness, but not emptiness.
179       It now also strips any leading or trailing whitesapce from the
180       switches.
181     * Test::Harness and prove only quote those parms that actually need
182       to be quoted: Have some whitespace and aren't already quoted.
183
184 2.36        Fri Nov 14 09:24:44 CST 2003
185     [FIXES]
186     * t/prove-includes.t properly ignores PROVE_SWITCHES that you may
187       already have set.
188
189 2.35_02     Thu Nov 13 09:57:36 CST 2003
190     [ENHANCEMENTS]
191     * prove's --blib now works just like the blib pragma.
192
193 2.35_01     Wed Nov 12 23:08:45 CST 2003
194     [FIXES]
195     * Fixed taint-handling and path preservation under MacOS.  Thanks to
196       Schwern for the patch and the tests.
197
198     * Preserves case of -t or -T in the shebang line of the test.
199
200     [ENHANCEMENTS]
201     * Added -t to prove analogous to Perl's -t.  Removed the --taint
202       switch.
203
204     * prove can take default options from the PROVE_SWITCHES variable.
205
206     * Added HARNESS_PERL to allow you to specify the Perl interpreter
207       to run the tests as.
208
209     * prove's --perl switch sets the HARNESS_PERL on the fly for you.
210
211     * Quotes the switches and filename in the subprogram.  This helps
212       with filenames with spaces that are subject to shell mangling.
213
214
215 2.34        Sat Nov  8 22:09:15 CST 2003
216     [FIXES]
217     * Allowed prove to run on Perl versions < 5.6.0.
218
219     [ENHANCEMENTS]
220     * Command-line switches to prove may now be stacked.
221     * Added check for proper Pod::Usage version.
222     * "make clean" does a better job of cleaning up after itself.
223
224
225 2.32        Fri Nov  7 09:41:21 CST 2003
226     Test::Harness now includes a powerful development tool to help
227     programmers work with automated tests.  The prove utility runs
228     test files against the harness, like a "make test", but with many
229     advantages:
230
231     * prove is designed as a development tool
232         Perl users typically run the test harness through a makefile via
233         "make test". That's fine for module distributions, but it's
234         suboptimal for a test/code/debug development cycle.
235
236     * prove is granular
237         prove lets your run against only the files you want to check.
238         Running "prove t/live/ t/master.t" checks every *.t in t/live, plus
239         t/master.t.
240
241     * prove has an easy verbose mode
242         To get full test program output from "make test", you must set
243         "HARNESS_VERBOSE" in the environment. prove has a "-v" option.
244
245     * prove can run under taint mode
246         prove's "-T" runs your tests under "perl -T".
247
248     * prove can shuffle tests
249         You can use prove's "--shuffle" option to try to excite problems
250         that don't show up when tests are run in the same order every time.
251
252     * Not everything is a module
253         More and more users are using Perl's testing tools outside the
254         context of a module distribution, and may not even use a makefile at
255         all.
256
257     Prove requires Pod::Usage, which is standard after Perl 5.004.
258
259     I'm very excited about prove, and hope that developers will begin
260     adopting it to their coding cycles.  I welcome your comments at
261     andy@petdance.com.
262
263     There are also some minor bug fixes in Test::Harness itself, listed
264     below in the 2.31_* notes.
265      
266
267 2.31_05     Thu Nov  6 14:56:22 CST 2003
268     [FIXES]
269     - If a MacPerl script had a shebang with -T, the -T wouldn't get
270       passed as a switch.
271     - Removed the -T on three *.t files, which didn't need them, and 
272       which were causing problems.
273     - Conditionally installs bin/prove, depending on whether Pod::Usage
274       is available, which prove needs.
275     - Removed old leftover code from Makefile.PL.
276
277 2.31_04     Mon Nov  3 23:36:06 CST 2003
278     Minor tweaks here and there, almost ready to release.
279
280 2.31_03     Mon Nov  3 08:50:36 CST 2003
281     [FEATURES]
282     - prove is almost feature-complete.  Removed the handling of
283       --exclude for excluding certain tests.  It may go back in the
284       future.
285     - prove -d is now debug.  Dry is prove -D.
286
287 2.31_02     Fri Oct 31 23:46:03 CST 2003
288     [FEATURES]
289     - Added many more switches to prove: -d for dry run, and -b for
290       blib.
291
292     [FIXES]
293     - T:H:Straps now recognizes MSWin32 in $^0.
294     - RT#3811: Could do regex matching on garbage in _is_test().
295       Fixed by Yves Orton
296     - RT#3827: Strips backslashes from and normalizes @INC entries
297       for Win32.  Fixed by Yves Orton.
298
299     [INTERNALS]
300     - Added $self->{_is_macos} to the T:H:Strap object.
301     - t/test-harness.t sorts its test results, rather than relying on
302       internal key order.
303
304 2.31_01
305     [FEATURES]
306     - Added "prove" script to run a test or set of tests through the
307       harness.  Thanks to Curtis Poe for the foundation.
308
309     [DOCUMENTATION]
310     - Fixed POD problem in Test::Harness::Assert
311
312 2.30        Thu Aug 14 20:04:00 CDT 2003
313     No functional changes in this version.  It's only to make some doc
314     tweaks, and bump up the version number in T:H:Straps.
315
316     [DOCUMENTATION]
317     - Changed Schwern to Andy as the maintainer.
318     - Incorporated the TODO file into Harness.pm proper.
319     - Cleaned up formatting in Test::Harness::Straps.
320
321 2.29        Wed Jul 17 14:08:00 CDT 2003
322     - Released as 2.29.
323
324 2.28_91     Sun Jul 13 00:10:00 CDT 2003
325     [ENHANCEMENTS]
326     - Added support for HARNESS_OK_SLOW.  This will make a significant
327       speedup for slower connections.
328     - Folded in some changes from bleadperl that spiff up the
329       failure reports.
330
331     [INTERNALS]
332     - Added some isa_ok() checks to the tests.
333     - All Test::Harness* modules are used by use_ok()
334     - Fixed the prototype for the canonfailed() function, not that
335       it matters since it's never called without parens.
336
337 2.28_90     Sat Jul 05 20:21:00 CDT 2003
338     [ENHANCEMENTS]
339     - Now, when you run a test harnessed, the numbers don't fly by one
340       at a time, one update per second.  This significantly speeds
341       up the run time for running thousands of tests.  *COUGH*
342       Regexp::Common *COUGH*
343
344 2.28     Thu Apr 24 14:39:00 CDT 2003
345     - No functional changes.
346
347 2.27_05  Mon Apr 21 15:55:00 CDT 2003
348     - No functional changes.
349     - Fixed circular depency in the test suite.  Thanks, Rob Brown.
350
351 2.27_04  Sat Apr 12 21:42:00 CDT 2003
352     - Added test for $Test::Harness::Switches patch below.
353
354 2.27_03  Thu Apr 03 10:47:00 CDT 2003
355     - Fixed straps not respecting $Test::Harness::Switches.  Thanks
356       to Miyagawa for the patch.
357     - Added t/pod.t to test POD validity.
358
359 2.27_02  Mon Mar 24 13:17:00 CDT 2003
360 2.27_01  Sun Mar 23 19:46:00 CDT 2003
361     - Handed over to Andy Lester for further maintenance.
362     - Fixed when the path to perl contains spaces on Windows
363     * Stas Bekman noticed that tests with no output at all were
364       interpreted as passing
365     - MacPerl test tweak for busted exit codes (bleadperl 17345)
366     - Abigail and Nick Clark both hit the 100000 "huge test that will
367       suck up all your memory" limit with legit tests.  Made the check
368       smarter to allow large, planned tests to work.
369     - Partial fix of stats display when a test fails only because there's
370       too many tests.
371     - Made wait.ph and WCOREDUMP anti-vommit protection more robust in
372       cases where wait.ph loads but WCOREDUMP() pukes when run.
373     - Added a LICENSE.
374     - Ilya noticed the per test skip reason was accumlating between tests.
375
376 2.26  Wed Jun 19 16:58:02 EDT 2002
377     - Workaround for MacPerl's lack of a working putenv.  It will never 
378       see the PERL5LIB environment variable (perl@16942).
379
380 2.25  Sun Jun 16 03:00:33 EDT 2002
381     - $Strap is now a global to allow Test::Harness::Straps
382       experimentation.
383     - Little spelling nit in a diagnostic.
384     - Chris Richmond noted that the runtests() docs were wrong.  It will
385       die, not return false, when any tests fail.  This is silly, but
386       historically necessary for 'make test'.  Docs corrected.
387     - MacPerl test fixes from Pudge. (mutation of bleadperl@16989)
388     - Undef warning introduced in 2.24 on skipped tests with no reasons 
389       fixed.
390     * Test::Harness now depends on File::Spec
391
392 2.24  Wed May 29 19:02:18 EDT 2002
393     * Nikola Knezevic found a bug when tests are completely skipped
394       but no reason is given it was considered a failure.
395     * Made Test::Harness::Straps->analyze_file & Test::Harness a bit
396       more graceful when the test doesn't exist.
397
398 2.23  Wed May 22 12:59:47 EDT 2002
399     - reason for all skip wasn't being displayed.  Broken in 2.20.
400     - Changed the wait status tests to conform with POSIX standards.
401     - Quieted some SYSTEM$ABORT noise leaking out from dying test tests
402       on VMS.
403
404 2.22  Fri May 17 19:01:35 EDT 2002
405     - Fixed parsing of #!/usr/bin/perl-current to not see a -t.
406       (RT #574)
407     - Fixed exit codes on MPE/iX
408
409 2.21  Mon May  6 00:43:22 EDT 2002
410     - removed a bunch of dead code left over after 2.20's gutting.
411     - The fix for the $^X "bug" added in 2.02 has been removed.  It
412       caused more trouble than the old bug (I'd never seen a problem
413       before anyway)
414     - 2.20 broke $verbose
415
416 2.20  Sat May  4 22:31:20 EDT 2002
417     * An almost complete conversion of the Test::Harness test parsing
418       to use Test::Harness::Straps.
419
420 2.04  Tue Apr 30 00:54:49 EDT 2002
421     * Changing the output format of skips
422     - Taking into account VMS's special exit codes in the tests.
423
424 2.03  Thu Apr 25 01:01:34 EDT 2002
425     * $^X fix made safer.
426     - Noise from loading wait.ph to analyze core files supressed
427     - MJD found a situation where a test could run Test::Harness
428       out of memory.  Protecting against that specific case.
429     - Made the 1..M docs a bit clearer.
430     - Fixed TODO tests so Test::Harness does not display a NOK for
431       them.
432     - Test::Harness::Straps->analyze_file() docs were not clear as to
433       its effects
434
435 2.02  Thu Mar 14 18:06:04 EST 2002
436     * Ken Williams fixed the long standing $^X bug.
437     * Added HARNESS_VERBOSE
438     * Fixed a bug where Test::Harness::Straps was considering a test that 
439       is ok but died as passing.
440     - Added the exit and wait codes of the test to the 
441       analyze_file() results.
442
443 2.01  Thu Dec 27 18:54:36 EST 2001
444     * Added 'passing' to the results to tell you if the test passed
445     * Added Test::Harness::Straps example (examples/mini_harness.plx)
446     * Header-at-end tests were being interpreted as failing sometimes
447     - The 'skip_all' results from analyze* was not being set
448     - analyze_fh() and analyze_file() now work more efficiently, reading
449       line-by-line instead of slurping as before.
450
451 2.00  Sun Dec 23 19:13:57 EST 2001
452     - Fixed a warning on VMS.
453     - Removed a little unnecessary code from analyze_file()
454     - Made sure filehandles are getting closed
455     - analyze() now considers "not \nok" to be a failure (VMSism)
456       but Test::Harness still doesn't.
457
458 2.00_05 Mon Dec 17 22:08:02 EST 2001
459     * Wasn't filtering @INC properly when a test is run with -T, caused the 
460       command line to be too long on VMS.  VMS should be 100% now.
461     - Little bug in the skip 'various reasons' logic.
462     - Minor POD nit in 5.004_04
463     - Little speling mistak
464
465 2.00_04 Sun Dec 16 00:33:32 EST 2001
466     * Major Test::Harness::Straps doc bug.
467
468 2.00_03 Sat Dec 15 23:52:17 EST 2001
469     * First release candidate
470     * 'summary' is now 'details'
471     * Test #1 is now element 0 on the details array.  It works out better
472       that way.
473     * analyze_file() is more portable, but no longer taint clean
474     * analyze_file() properly preserves @INC and handles -T switches
475     - minor mistake in the test header line parsing
476
477 1.26  Mon Nov 12 15:44:01 EST 2001
478     * An excuse to upload a new version to CPAN to get Test::Harness
479       back on the index.
480
481 2.00_00  Sat Sep 29 00:12:03 EDT 2001
482     * Partial gutting of the internals
483     * Added Test::Harness::Straps
484
485 1.25  Tue Aug  7 08:51:09 EDT 2001
486     * Fixed a bug with tests failing if they're all skipped
487       reported by Stas Bekman.
488     - Fixed a very minor warning in 5.004_04
489     - Fixed displaying filenames not from @ARGV
490     - Merging with bleadperl
491     -  minor fixes to the filename in the report
492     -  '[no reason given]' skip reason
493
494 1.24  Tue Aug  7 08:51:09 EDT 2001
495     - Added internal information about number of todo tests
496
497 1.23  Tue Jul 31 15:06:47 EDT 2001
498     - Merged in Ilya's "various reasons" patch
499     * Fixed "not ok 23 - some name # TODO" style tests
500
501 1.22  Mon Jun 25 02:00:02 EDT 2001
502     * Fixed bug with failing tests using header at end.
503     - Documented how Test::Harness deals with garbage input
504     - Turned on test counter mismatch warning
505
506 1.21  Wed May 23 19:22:53 BST 2001
507     * No longer considered unstable.  Merging back with the perl core.
508     - Fixed minor nit about the report summary
509     - Added docs on the meaning of the failure report
510     - Minor POD nits fixed mirroring perl change 9176
511     - TODO and SEE ALSO expanded
512
513 1.20  Wed Mar 14 23:09:20 GMT 2001 by Michael G Schwern    *UNSTABLE*
514     * Fixed and tested with 5.004!
515     - Added EXAMPLE docs
516     - Added TODO docs
517     - Now uneffected by -l, $\ or $,
518
519 1.19  Sat Mar 10 00:43:29 GMT 2001 by Michael G Schwern    *UNSTABLE*
520     - More internal reworking
521     * Removed use of experimental /(?>...)/ feature for backwards compat
522     * Removed use of open(my $fh, $file) for backwards compatibility
523     * Removed use of Tie::StdHandle in tests for backwards compat
524     * Added dire warning that this is unstable.
525     - Added some tests from the old CPAN release
526
527 1.18  Mon Mar  5 17:35:11 GMT 2001 by Michael G Schwern
528     * Under new management!
529     * Test::Harness is now being concurrently shipped on CPAN as well
530       as in the core.
531     - Switched "our" for "use vars" and moved the minimum version back
532       to 5.004.  This may be optimistic.
533
534
535 *** Missing version history to be extracted from Perl changes ***
536
537
538 1.07  Fri Feb 23 1996 by Andreas Koenig
539     - Gisle sent me a documentation patch that showed me, that the
540       unless(/^#/) is unnessessary. Applied the patch and deleted the block
541       checking for "comment" lines. -- All lines are comment lines that do
542       not match /^1\.\.([0-9]+)/ or /^(not\s+)?ok\b/.
543     - Ilyaz request to print "ok (empty test case)" whenever we say 1..0
544       implemented.
545     - Harness now doesn't abort anymore if we received confused test output,
546       just warns instead.
547
548 1.05  Wed Jan 31 1996 by Andreas Koenig
549     - More updates on docu and introduced the liberality that the script
550       output may omit the test numbers.
551
552 1.03  Mon January 28 1996 by Andreas Koenig
553     - Added the statistics for subtests. Updated the documentation.
554
555 1.02  by Andreas Koenig
556     - This version reports a list of the tests that failed accompanied by
557       some trivial statistics. The older (unnumbered) version stopped
558       processing after the first failed test.
559     - Additionally it reports the exit status if there is one.
560
561