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