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