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