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