http://www.pobox.com/~schwern/src/Test-Simple-0.60_01.tar.gz or http://svn.schwern.org/svn/CPAN/Test-Simple/trunk or a CPAN near you.
I've made a lot of little, detailed changes in the last couple of days so I figured it would be nice to kick out an alpha. The big changes are: * Added the long delayed BAIL_OUT to Test::More. * Changed the standard failure diagnostics to include the test name plus some additional minor formatting changes to better separate the description of which test failed from the diagnostics about how it failed. Anyone relying on the formatting of the diagnostic output should take note. Before (0.60) 1..2 not ok 1 # Failed test (/Users/schwern/tmp/test at line 5) # got: '23' # expected: '43' not ok 2 - this is the test description # Failed test (/Users/schwern/tmp/test at line 6) # got: 'foo' # expected: 'bar' # Looks like you failed 2 tests of 2. After (0.60_01) 1..2 not ok 1 # Failed test in /Users/schwern/tmp/test at line 5. # got: '23' # expected: '43' not ok 2 - this is the test description # Failed test 'this is the test description' # in /Users/schwern/tmp/test at line 6. # got: 'foo' # expected: 'bar' # Looks like you failed 2 tests of 2. The improvement becomes more evident when you look at it through Test::Harness Before (0.60) /Users/schwern/tmp/test...NOK 1 # Failed test (/Users/schwern/tmp/test at line 5) # got: 'foo' # expected: 'bar' # Looks like you failed 1 test of 1. /Users/schwern/tmp/test...dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED test 1 Failed 1/1 tests, 0.00% okay Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- /Users/schwern/tmp/test 1 256 1 1 100.00% 1 Failed 1/1 test scripts, 0.00% okay. 1/1 subtests failed, 0.00% okay. After (0.60_01) /Users/schwern/tmp/test...NOK 1 # Failed test 'this is the test description' # in /Users/schwern/tmp/test at line 5. # got: 'foo' # expected: 'bar' # Looks like you failed 1 test of 1. /Users/schwern/tmp/test...dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED test 1 Failed 1/1 tests, 0.00% okay Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- /Users/schwern/tmp/test 1 256 1 1 100.00% 1 Failed 1/1 test scripts, 0.00% okay. 1/1 subtests failed, 0.00% okay. 0.60_01 Sun Jul 3 18:11:58 PDT 2005 - Moved the docs around a little to better group all the testing functions together. [rt.cpan.org 8388] * Added a BAIL_OUT() function to Test::More [rt.cpan.org 8381] - Changed Test::Builder->BAILOUT to BAIL_OUT to match other method's naming conventions. BAILOUT remains but is deprecated. * Changed the standard failure diagnostics to include the test name. [rt.cpan.org 12490] - is_deeply() was broken for overloaded objects in the top level in 0.59_01. [rt.cpan.org 13506] - String overloaded objects without an 'eq' or '==' method are now handled in cmp_ok() and is(). - cmp_ok() will now treat overloaded objects as numbers if the comparison operator is numeric. [rt.cpan.org 13156] - cmp_ok(), like() and unlike will now throw uninit warnings if their arguments are undefined. [rt.cpan.org 13155] - cmp_ok() will now throw warnings as if the comparison were run normally, for example cmp_ok(2, '==', 'foo') will warn about 'foo' not being numeric. Previously all warnings in the comparison were supressed. [rt.cpan.org 13155] - Tests will now report *both* the number of tests failed and if the wrong number of tests were run. Previously if tests failed and the wrong number were run it would only report the latter. [rt.cpan.org 13494] - Missing or extra tests are not considered failures for the purposes of calculating the exit code. Should there be no failures but the wrong number of tests the exit code will be 254. - Avoiding an unbalanced sort in eq_set() [bugs.perl.org 36354] - Documenting that eq_set() doesn't deal well with refs. - Clarified how is_deeply() compares a bit. * Once again working on 5.4.5. 0.60 Tue May 3 14:20:34 PDT 2005 0.59_01 Tue Apr 26 21:51:12 PDT 2005 * Test::Builder now has a create() method which allows you to create a brand spanking new Test::Builder object. * require_ok() was not working for single letter module names. * is_deeply() and eq_* now work with circular scalar references (Thanks Fergal) * Use of eq_* now officially discouraged. - Removed eq_* from the SYNOPSIS. - is_deeply(undef, $not_undef); now works. [rt.cpan.org 9441] - is_deeply() was mistakenly interpeting the same reference used twice in a data structure as being circular causing failures. [rt.cpan.org 11623] - Loading Test::Builder but not using it would interfere with the exit code if the code exited. [rt.cpan.org 12310] - is_deeply() diagnostics now disambiguate between stringified references and references. [rt.cpan.org 8865] - Files opened by the output methods are now autoflushed. - todo() now honors $Level when looking for $TODO. 0.54 Wed Dec 15 04:18:43 EST 2004 * $how_many is optional for skip() and todo_skip(). Thanks to Devel::Cover for pointing this out. - Removed a user defined function called err() in the tests to placate users of older versions of the dor patch before err() was weakend. [rt.cpan.org 8734] -- Michael G Schwern [EMAIL PROTECTED] http://www.pobox.com/~schwern You are wicked and wrong to have broken inside and peeked at the implementation and then relied upon it. -- tchrist in <[EMAIL PROTECTED]>