Commit | Line | Data |
2fe373ce |
1 | Revision history for Perl extension Test::Harness |
2 | |
3c87ea76 |
3 | 2.46 Thu Jan 20 11:50:59 CST 2005 |
4 | Released. |
5 | |
6 | 2.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 | |
16 | 2.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 | |
39 | 2.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 | |
54 | 2.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 | |
67 | 2.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 |
76 | 2.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 | |
85 | 2.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 |
105 | 2.38 Mon Nov 24 22:36:18 CST 2003 |
e4fc8a1e |
106 | Released. See changes below. |
107 | |
42d29bac |
108 | 2.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 | |
125 | 2.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 | |
130 | 2.35_02 Thu Nov 13 09:57:36 CST 2003 |
131 | [ENHANCEMENTS] |
132 | * prove's --blib now works just like the blib pragma. |
133 | |
134 | 2.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 | |
156 | 2.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 | |
166 | 2.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 | |
208 | 2.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 | |
218 | 2.31_04 Mon Nov 3 23:36:06 CST 2003 |
219 | Minor tweaks here and there, almost ready to release. |
220 | |
221 | 2.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 | |
228 | 2.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 | |
245 | 2.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 |
253 | 2.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 |
262 | 2.29 Wed Jul 17 14:08:00 CDT 2003 |
cf2ab31a |
263 | - Released as 2.29. |
264 | |
e4fc8a1e |
265 | 2.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 |
278 | 2.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 |
285 | 2.28 Thu Apr 24 14:39:00 CDT 2003 |
286 | - No functional changes. |
287 | |
288 | 2.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 | |
292 | 2.27_04 Sat Apr 12 21:42:00 CDT 2003 |
293 | - Added test for $Test::Harness::Switches patch below. |
294 | |
295 | 2.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 |
300 | 2.27_02 Mon Mar 24 13:17:00 CDT 2003 |
301 | 2.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 |
317 | 2.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 |
321 | 2.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 |
333 | 2.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 |
339 | 2.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 |
345 | 2.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 |
350 | 2.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 | |
357 | 2.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 | |
361 | 2.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 |
365 | 2.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 | |
376 | 2.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 |
384 | 2.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 | |
392 | 2.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 | |
399 | 2.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 | |
406 | 2.00_04 Sun Dec 16 00:33:32 EST 2001 |
407 | * Major Test::Harness::Straps doc bug. |
408 | |
409 | 2.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 |
418 | 1.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 |
422 | 2.00_00 Sat Sep 29 00:12:03 EDT 2001 |
423 | * Partial gutting of the internals |
424 | * Added Test::Harness::Straps |
425 | |
2fe373ce |
426 | 1.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 |
435 | 1.24 Tue Aug 7 08:51:09 EDT 2001 |
2fe373ce |
436 | - Added internal information about number of todo tests |
437 | |
438 | 1.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 | |
442 | 1.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 | |
447 | 1.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 | |
454 | 1.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 | |
460 | 1.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 | |
468 | 1.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 | |
479 | 1.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 | |
489 | 1.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 | |
493 | 1.03 Mon January 28 1996 by Andreas Koenig |
494 | - Added the statistics for subtests. Updated the documentation. |
495 | |
496 | 1.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 | |