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