This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Upgrade to Test-Simple-0.68. Includes a tweak to
[perl5.git] / lib / Test / Simple / Changes
1 0.68  Tue Mar 13 17:27:26 PDT 2007
2     Bug fixes
3     * If your code has a $SIG{__DIE__} handler in some cases functions like
4       use_ok(), require_ok(), can_ok() and isa_ok() could trigger that
5       handler. [rt.cpan.org 23509]
6     - Minor improvement to TB's filehandle detection in the case of overridden
7       isa(). [rt.cpan.org 20890]
8     - Will now install as a core module in 5.6.2 which ships with Test::More.
9       [rt.cpan.org 25163]
10
11     New Features
12     - Test::Builder->is_fh() provides a way to determine if a thing
13       can be used as a filehandle.
14
15     Documentation improvements
16     - Improved the docs for $Test::Builder::Level showing the encouraged
17       use (increment, don't set)
18     - Documented the return value of Test::Builder's test methods
19     - Split out TB's method documentation to differenciate between test
20       methods (ok, is_eq...), methods useful in testing (skip, BAILOUT...)
21       and methods useful for building your own tests (maybe_regex...).
22
23     Test fixes
24     - We required too old a version of Test::Pod::Coverage.  Need 1.08 and not
25       1.00. [rt.cpan.org 25351]
26
27 0.67  Mon Jan 22 13:27:40 PST 2007
28     Test fixes
29     - t/pod_coverage.t would fail if Test::Pod::Coverage between 1.07 and
30       1.00 were installed as it depended on all_modules being exported.
31       [rt.cpan.org 24483]
32
33 0.66  Sun Dec  3 15:25:45 PST 2006
34     - Restore 5.4.5 compatibility (unobe@cpan.org) [rt.cpan.org 20513]
35
36 0.65  Fri Nov 10 10:26:51 CST 2006
37
38 0.64_03  Sun Nov  5 13:09:55 EST 2006
39     - Tests will no longer warn when run against an alpha version of
40       Test::Harness [rt.cpan.org #20501]
41     - Now testing our POD and POD coverage.
42     - Added a LICENSE field.
43     - Removed warning from the docs about mixing numbered and unnumbered
44       tests.  There's nothing wrong with that. [rt.cpan.org 21358]
45     - Change doc examples to talk about $got and $expected rather than
46       $this and $that to correspond better to the diagnostic output
47       [rt.cpan.org 2655]
48
49 0.64_02  Sat Sep  9 12:16:56 EDT 2006
50     - Last release broke Perls earlier than 5.8.
51
52 0.64_01  Mon Sep  4 04:40:42 EDT 2006
53     - Small improvement to the docs to avoid user confusion over
54       "use Test::More tests => $num_tests" (Thanks Eric Wilhelm)
55     - Minor fix for a test failure in is_deeply_fail for some Windows
56       users.  Not a real bug.  [rt.cpan.org 21310]
57     - _print_diag() accidentally leaked into the public documentation.
58       It is a private method.
59     * Added Test::Builder->carp() and croak()
60     * Made most of the error messages report in the caller's context.
61       [rt.cpan.org #20639]
62     * Made the failure diagnostic message file and line reporting portion
63       match Perl's for easier integration with Perl aware editors.
64       (so its "at $file line $line_num." now)
65       [rt.cpan.org #20639]
66     * 5.8.0 threads are no longer supported.  There's too many bugs.
67
68 0.64  Sun Jul 16 02:47:29 PDT 2006
69     * 0.63's change to test_fail() broke backwards compatibility.  They
70       have been removed for the time being.  test_pass() went with it.
71       This is [rt.cpan.org 11317] and [rt.cpan.org 11319].
72     - skip() will now warn if you get the args backwards.
73
74 0.63  Sun Jul  9 02:36:36 PDT 2006
75     * Fixed can_ok() to gracefully handle no class name.
76       Submitted by "Pete Krawczyk" <perl@bsod.net>
77       Implemented by "Richard Foley" <richard.foley@rfi.net>
78       [rt.cpan.org 15654]
79     * Added test_pass() to Test::Builder::Tester rather than having to
80       call test_out("ok 1 - foo"). <chromatic@wgz.org> [rt.cpan.org 11317]
81     * test_fail() now accepts a test diagnostic rather than having to
82       call test_out() separately. <chromatic@wgz.org> [rt.cpan.org 11319]
83     - Changed Test::Builder::Tester docs to show best practice using
84       test_fail() and test_pass().
85     - isnt_num() doc example wrongly showed is_num(). <chromatic@wgz.org>
86     - Fixed a minor typo in the BAIL_OUT() docs. <Jeff Deifik>
87     - Removed the LICENSE field from the Makefile.PL as the release of
88       MakeMaker with that feature has been delayed.
89
90 0.62  Sat Oct  8 01:25:03 PDT 2005
91     * Absorbed Test::Builder::Tester.  The last release broke it because its
92       screen scraping Test::More and the failure output changed.  By
93       distributing them together we ensure TBT won't break again.
94     * Test::Builder->BAILOUT() was missing.
95     - is_deeply() can now handle function and code refs in a very limited
96       way.  It simply looks to see if they have the same referent.
97       [rt.cpan.org 14746]
98
99 0.61  Fri Sep 23 23:26:05 PDT 2005
100     - create.t was trying to read from a file before it had been closed
101       (and thus the changes may not have yet been written).
102     * is_deeply() would call stringification methods on non-object strings
103       which happened to be the name of a string overloaded class.
104       [rt.cpan.org 14675]
105
106 0.60_02  Tue Aug  9 00:27:41 PDT 2005
107     * Added Test::Builder::Module.
108     - Changed Test::More and Test::Simple to use Test::Builder::Module
109     - Minor Win32 testing nit in fail-more.t
110     * Added no_diag() method to Test::Builder and changed Test::More's
111       no_diag internals to use that. [rt.cpan.org 8655]
112     * Deprecated no_diag() as an option to "use Test::More".  Call the
113       Test::Builder method instead.
114
115 0.60_01  Sun Jul  3 18:11:58 PDT 2005
116     - Moved the docs around a little to better group all the testing
117       functions together. [rt.cpan.org 8388]
118     * Added a BAIL_OUT() function to Test::More [rt.cpan.org 8381]
119     - Changed Test::Builder->BAILOUT to BAIL_OUT to match other method's
120       naming conventions.  BAILOUT remains but is deprecated.
121     * Changed the standard failure diagnostics to include the test name.
122       [rt.cpan.org 12490]
123     - is_deeply() was broken for overloaded objects in the top level in
124       0.59_01.  [rt.cpan.org 13506]
125     - String overloaded objects without an 'eq' or '==' method are now
126       handled in cmp_ok() and is().
127     - cmp_ok() will now treat overloaded objects as numbers if the comparison
128       operator is numeric. [rt.cpan.org 13156]
129     - cmp_ok(), like() and unlike will now throw uninit warnings if their
130       arguments are undefined. [rt.cpan.org 13155]
131     - cmp_ok() will now throw warnings as if the comparison were run 
132       normally, for example cmp_ok(2, '==', 'foo') will warn about 'foo' 
133       not being numeric.  Previously all warnings in the comparison were
134       supressed. [rt.cpan.org 13155]
135     - Tests will now report *both* the number of tests failed and if the
136       wrong number of tests were run.  Previously if tests failed and the
137       wrong number were run it would only report the latter. 
138       [rt.cpan.org 13494]
139     - Missing or extra tests are not considered failures for the purposes
140       of calculating the exit code.  Should there be no failures but the
141       wrong number of tests the exit code will be 254.
142     - Avoiding an unbalanced sort in eq_set() [bugs.perl.org 36354]
143     - Documenting that eq_set() doesn't deal well with refs.
144     - Clarified how is_deeply() compares a bit.
145     * Once again working on 5.4.5.
146
147 0.60  Tue May  3 14:20:34 PDT 2005
148
149 0.59_01  Tue Apr 26 21:51:12 PDT 2005
150     * Test::Builder now has a create() method which allows you to create
151       a brand spanking new Test::Builder object.
152     * require_ok() was not working for single letter module names.
153     * is_deeply() and eq_* now work with circular scalar references
154       (Thanks Fergal)
155     * Use of eq_* now officially discouraged.
156     - Removed eq_* from the SYNOPSIS.
157     - is_deeply(undef, $not_undef); now works. [rt.cpan.org 9441]
158     - is_deeply() was mistakenly interpeting the same reference used twice
159       in a data structure as being circular causing failures.
160       [rt.cpan.org 11623]
161     - Loading Test::Builder but not using it would interfere with the
162       exit code if the code exited. [rt.cpan.org 12310]
163     - is_deeply() diagnostics now disambiguate between stringified references
164       and references. [rt.cpan.org 8865]
165     - Files opened by the output methods are now autoflushed.
166     - todo() now honors $Level when looking for $TODO.
167
168 0.54  Wed Dec 15 04:18:43 EST 2004
169     * $how_many is optional for skip() and todo_skip().  Thanks to 
170       Devel::Cover for pointing this out.
171     - Removed a user defined function called err() in the tests to placate
172       users of older versions of the dor patch before err() was weakend.
173       [rt.cpan.org 8734]
174
175 0.53_01  Sat Dec 11 19:02:18 EST 2004
176     - current_test() can now be set backward.
177     - *output() methods now handle tied handles and *FOO{IO} properly.
178     - maybe_regex() now handles undef gracefully.
179     - maybe_regex() now handles 'm,foo,' style regexes.
180     - sort_bug.t wasn't checking for threads properly.  Would fail on
181       5.6 that had ithreads compiled in. [rt.cpan.org 8765]
182
183 0.53  Mon Nov 29 04:43:24 EST 2004
184     - Apparently its possible to have Module::Signature installed without
185       it being functional.  Fixed the signature test to account for this.
186       (not a real bug)
187
188 0.52  Sun Nov 28 21:41:03 EST 2004
189     - plan() now better checks that the given plan is valid. 
190       [rt.cpan.org 2597]
191
192 0.51_02  Sat Nov 27 01:25:25 EST 2004
193     * is_deeply() and all the eq_* functions now handle circular data
194       structures.  [rt.cpan.org 7289]
195     * require_ok() now handles filepaths in addition to modules.
196     - Clarifying Test::More's position on overloaded objects 
197     - Fixed a bug introduced in 0.51_01 causing is_deeply() to pierce
198       overloaded objects.
199     - Mentioning rt.cpan.org for reporting bugs.
200
201 0.51_01  Fri Nov 26 02:59:30 EST 2004
202     - plan() was accidentally exporting functions [rt.cpan.org 8385]
203     * diag @msgs would insert # between arguments. [rt.cpan.org 8392]
204     * eq_set() could cause problems under threads due to a weird sort bug
205       [rt.cpan.org 6782]
206     * undef no longer equals '' in is_deeply() [rt.cpan.org 6837]
207     * is_deeply() would sometimes compare references as strings.
208       [rt.cpan.org 7031]
209     - eq_array() and eq_hash() could hold onto references if they failed
210       keeping them in memory and preventing DESTROY.  [rt.cpan.org 7032]
211     * is_deeply() could confuse [] with a non-existing value
212       [rt.cpan.org 7030]
213     - is_deeply() diagnostics a little off when scalar refs were inside
214       an array or hash ref [rt.cpan.org 7033]
215     - Thanks to Fergal Daly for ferretting out all these long standing 
216       is_deeply and eq_* bugs.
217
218 0.51  Tue Nov 23 04:51:12 EST 2004
219     - Fixed bug in fail_one.t on Windows (not a real bug).
220     - TODO reasons as overloaded objects now won't blow up under threads.
221       [Autrijus Tang]
222     - skip() in 0.50 tickled yet another bug in threads::shared.  Hacked
223       around it.
224
225 0.50  Sat Nov 20 00:28:44 EST 2004
226     - Fixed bug in fail-more test on Windows (not a real bug).
227       [rt.cpan.org 8022]
228     - Change from CVS to SVK.  Hopefully this is the last time I move
229       version control systems.
230     - Again removing File::Spec dependency (came back in 0.48_02)
231     - Change from Aegis back to CVS
232
233 0.49  Thu Oct 14 21:58:50 EDT 2004
234     - t/harness_active.t would fail for frivolous reasons with older
235       MakeMakers (test bug) [thanks Bill Moseley for noticing]
236
237 0.48_02  Mon Jul 19 02:07:23 EDT 2004
238     * Overloaded objects as names now won't blow up under threads
239       [rt.cpan.org 4218 and 4232]
240     * Overloaded objects which stringify to undef used as test names
241       now won't cause internal uninit warnings. [rt.cpan.org 4232]
242     * Failure diagnostics now come out on their own line when run in 
243       Test::Harness.
244     - eq_set() sometimes wasn't giving the right results if nested refs 
245       were involved [rt.cpan.org 3747]
246     - isnt() giving wrong diagnostics and warning if given any undefs.
247     * Give unlike() the right prototype [rt.cpan.org 4944]
248     - Change from CVS to Aegis
249     - is_deeply() will now do some basic argument checks to guard against
250       accidentally passing in a whole array instead of its reference.
251     - Mentioning Test::Differences, Test::Deep and Bundle::Test.
252     - Removed dependency on File::Spec.
253     - Fixing the grammar of diagnostic outputs when only a single test
254       is run or failed (ie. "Looks like you failed 1 tests").
255       [Darren Chamberlain]
256
257 0.48_01  Mon Nov 11 02:36:43 EST 2002
258     - Mention Test::Class in Test::More's SEE ALSO
259     * use_ok() now DWIM for version checks
260     - More problems with ithreads fixed.
261     * Test::Harness upgrade no longer optional.  It was causing too
262       many problems when the T::H upgrade didn't work.
263     * Drew Taylor added a 'no_diag' option to Test::More to switch
264       off all diag() statements.
265     * Test::Builder/More no longer automatically loads threads.pm
266       when threads are enabled.  The user must now do this manually.
267     * Alex Francis added reset() reset the state of Test::Builder in 
268       persistent environments.
269     - David Hand noted that Test::Builder/More exit code behavior was
270       not documented.  Only Test::Simple.
271
272 0.47  Mon Aug 26 03:54:22 PDT 2002 
273     * Tatsuhiko Miyagawa noticed Test::Builder was accidentally storing 
274       objects passed into test functions causing problems with tests 
275       relying on object destruction.
276     - Added example of calculating the number of tests to Test::Tutorial
277     - Peter Scott made the ending logic not fire on child processes when
278       forking.
279     * Test::Builder is once again ithread safe.
280
281 0.46  Sat Jul 20 19:57:40 EDT 2002
282     - Noted eq_set() isn't really a set comparision.
283     - Test fix, exit codes are broken on MacPerl (bleadperl@16868)
284     - Make Test::Simple install itself into the core for >= 5.8
285     - Small fixes to Test::Tutorial and skip examples
286     * Added TB->has_plan() from Adrian Howard
287     - Clarified the meaning of 'actual_ok' from TB->details
288     * Added TB->details() from chromatic
289     - Neil Watkiss fixed a pre-5.8 test glitch with threads.t
290     * If the test died before a plan, it would exit with 0 [ID 20020716.013]
291
292 0.45  Wed Jun 19 18:41:12 EDT 2002
293     - Andy Lester made the SKIP & TODO docs a bit clearer.
294     - Explicitly disallowing double plans. (RT #553)
295     - Kicking up the minimum version of Test::Harness to one that's
296       fairly bug free.
297     - Made clear a common problem with use_ok and BEGIN blocks.
298     - Arthur Bergman made Test::Builder thread-safe.
299
300 0.44  Thu Apr 25 00:27:27 EDT 2002
301     - names containing newlines no longer produce confusing output
302       (from chromatic)
303     - chromatic provided a fix so can_ok() honors can() overrides.
304     - Nick Ing-Simmons suggested todo_skip() be a bit clearer about
305       the skipping part.
306     - Making plan() vomit if it gets something it doesn't understand.
307     - Tatsuhiko Miyagawa fixed use_ok() with pragmata on older perls.
308     - quieting diag(undef)
309
310 0.43  Thu Apr 11 22:55:23 EDT 2002
311     - Adrian Howard added TB->maybe_regex()
312     - Adding Mark Fowler's suggestion to make diag() return
313       false.
314     - TB->current_test() still not working when no tests were run via
315       TB itself.  Fixed by Dave Rolsky.
316
317 0.42  Wed Mar  6 15:00:24 EST 2002
318     - Setting Test::Builder->current_test() now works (see what happens
319       when you forget to test things?)
320     - The change in is()'s undef/'' handling in 0.34 was an API change, 
321       but I forgot to declare it as such.
322     - The apostrophilic jihad attacks!  Philip Newtons patch for
323       grammar mistakes in the doc's.
324
325 0.41  Mon Dec 17 22:45:20 EST 2001
326     * chromatic added diag()
327     - Internal eval()'s sometimes interfering with $@ and $!.  Fixed.
328
329 0.40  Fri Dec 14 15:41:39 EST 2001
330     * isa_ok() now accepts unblessed references gracefully
331     - Nick Clark found a bug with like() and a regex with % in it.
332     - exit.t was hanging on 5.005_03 VMS perl.  Test now skipped.
333     - can_ok() would pass if no methods were given.  Now fails.
334     - isnt() diagnostic output format changed
335     * Added some docs about embedding and extending Test::More
336     * Added Test::More->builder
337     * Added cmp_ok()
338     * Added todo_skip()
339     * Added unlike()
340     - Piers pointed out that sometimes people override isa().
341       isa_ok() now accounts for that.
342
343 0.36  Thu Nov 29 14:07:39 EST 2001
344     - Matthias Urlichs found that intermixed prints to STDOUT and test 
345       output came out in the wrong order when piped.
346
347 0.35  Tue Nov 27 19:57:03 EST 2001
348     - Little glitch in the test suite.  No actual bug.
349
350 0.34  Tue Nov 27 15:43:56 EST 2001
351     * **API CHANGE** Empty string no longer matches undef in is() 
352       and isnt().
353     * Added isnt_eq and isnt_num to Test::Builder.
354
355 0.33  Mon Oct 22 21:05:47 EDT 2001
356     * It's now officially safe to redirect STDOUT and STDERR without
357       affecting test output.
358     - License and POD cleanup by Autrijus Tang
359     - Synched up Test::Tutorial with the wiki version
360     - Minor VMS test nit.
361
362 0.32  Tue Oct 16 16:52:02 EDT 2001
363     * Finally added a seperate plan() function
364     * Adding a name field to isa_ok()
365       (Requested by Dave Rolsky)
366     - Test::More was using Carp.pm, causing the occasional false positive.
367       (Reported by Tatsuhiko Miyagawa)
368
369 0.31  Mon Oct  8 19:24:53 EDT 2001
370     * Added an import option to Test::More
371     * Added no_ending and no_header options to Test::Builder
372       (Thanks to Dave Rolsky for giving this a swift kick in the ass)
373     * Added is_deeply().  Display of scalar refs not quite 100%
374       (Thanks to Stas Bekman for Apache::TestUtil idea thievery)
375     - Fixed a minor warning with skip()
376       (Thanks to Wolfgang Weisselberg for finding this one)
377
378 0.30  Thu Sep 27 22:10:04 EDT 2001
379     * Added Test::Builder
380       (Thanks muchly to chromatic for getting this off the ground!)
381     * Diagnostics are back to using STDERR *unless* it's from a todo
382       test.  Those go to STDOUT.
383     - Fixed it so nothing is printed if a test is run with a -c flag.
384       Handy when a test is being deparsed with B::Deparse.
385
386 0.20  *UNRELEASED*
387
388 0.19  Tue Sep 18 17:48:32 EDT 2001
389     * Test::Simple and Test::More no longer print their diagnostics
390       to STDERR.  It instead goes to STDOUT.
391     * TODO tests which fail now print full failure diagnostics.
392     - Minor bug in ok()'s test name diagnostics made it think a blank
393       name was a number.
394     - ok() less draconian about test names
395     - Added temporary special case for Parrot::Test
396     - Now requiring File::Spec for our tests.
397
398 0.18  Wed Sep  5 20:35:24 EDT 2001
399     * ***API CHANGE*** can_ok() only counts as one test
400     - can_ok() has better diagnostics
401     - Minor POD fixes from mjd
402     - adjusting the internal layout to make it easier to put it into
403       the core
404
405 0.17  Wed Aug 29 20:16:28 EDT 2001
406     * Added can_ok() and isa_ok() to Test::More
407
408 0.16  Tue Aug 28 19:52:11 EDT 2001
409     * vmsperl foiled my sensisble exit codes.  Reverting to a much more
410       coarse scheme.
411
412 0.15  Tue Aug 28 06:18:35 EDT 2001  *UNRELEASED*
413     * Now using sensible exit codes on VMS.
414
415 0.14  Wed Aug 22 17:26:28 EDT 2001
416     * Added a first cut at Test::Tutorial
417
418 0.13  Tue Aug 14 15:30:10 EDT 2001
419     * Added a reason to the skip_all interface
420     - Fixed a bug to allow 'use Test::More;' to work.
421       (Thanks to Tatsuhiko Miyagawa again)
422     - Now always testing backwards compatibility.
423
424 0.12  Tue Aug 14 11:02:39 EDT 2001
425     * Fixed some compatibility bugs with older Perls
426       (Thanks to Tatsuhiko Miyagawa)
427
428 0.11  Sat Aug 11 23:05:19 EDT 2001
429     * Will no longer warn about testing undef values
430     - Escaping # in test names
431     - Ensuring that ok() returns true or false and not undef
432     - Minor doc typo in the example
433
434 0.10  Tue Jul 31 15:01:11 EDT 2001
435     * Test::More is now distributed in this tarball.
436     * skip and todo tests work!
437     * Extended use_ok() so it can import
438     - A little internal rejiggering
439     - Added a TODO file
440
441 0.09  Wed Jun 27 02:55:54 EDT 2001
442     - VMS fixes
443
444 0.08  Fri Jun 15 14:39:50 EDT 2001
445     - Guarding against $/ and -l
446     - Reformatted the way failed tests are reported to make them stand out
447       a bit better.
448
449 0.07  Tue Jun 12 15:55:54 BST 2001
450     - 'use Test::Simple' by itself no longer causes death
451     - Yet more fixes for death in eval
452     - Limiting max failures reported via exit code to 254.
453
454 0.06  Wed May  9 23:38:17 BST 2001
455     - Whoops, left a private method in the public docs.
456
457 0.05  Wed May  9 20:40:35 BST 2001
458     - Forgot to include the exit tests.
459     - Trouble with exiting properly under 5.005_03 and 5.6.1 fixed
460     - Turned off buffering
461     * 5.004 new minimum version
462     - Now explicitly tested with 5.6.1, 5.6.0, 5.005_03 and 5.004
463
464 0.04  Mon Apr  2 11:05:01 BST 2001
465     - Fixed "require Test::Simple" so it doesn't bitch and exit 255
466     - Now installable with the CPAN shell.
467
468 0.03  Fri Mar 30 08:08:33 BST 2001
469     - ok() now prints on what line and file it failed.
470     - eval 'die' was considered abnormal.  Fixed.
471
472 0.02  Fri Mar 30 05:12:14 BST 2001      *UNRELEASED*
473     - exit codes tested
474     * exit code on abnormal exit changed to 255 (thanks to Tim Bunce for
475       pointing out that Unix can't do negative exit codes)
476     - abnormal exits now better caught.
477     - No longer using Test.pm to test this, but still minimum of 5.005
478       due to needing $^S.
479
480 0.01  Wed Mar 28 06:44:44 BST 2001
481     - First working version released to CPAN
482