This is a technology preview of Test::Builder2.  It is by no means
complete or stable, but here's something to play with and see where
it's going.


WHAT TEST::BUILDER2 IS

It is a rewrite of the skeleton that holds together all the popular
Test:: libraries.  Its aim is to increase flexibility and allow Perl
authors to do pretty much whatever they please while still not having
to worry about the minutea of test formats or coordinating with other
test libraries.


WHAT TEST::BUILDER2 IS NOT

It is not a rewrite of Test::More.  Maybe later we can do Test::More2.

It doesn't directly effect how people write tests, but how people
write test libraries (which people then use to write tests).  Many
things that were previously impossible are now possible.


COMPATIBILITY

Test::Builder, Test::More and Test::Simple will continue to work as
before.

Test::Builder2 is not directly compatible with Test::Builder, thus the
new namespace.

Test modules built with Test::Builder will work together with those
built with Test::Builder2.


WHAT WORKS

Test event hooks
Multiple formatters (ie. you can output something other than TAP)
Assert stacks (ie. no more $Test::Builder::Level)
Test::Buidler using Test::Builder2
Event watchers (ie. what things like Test::NoWarnings)


WHAT DOESN'T WORK

Structured diagnostics
Comments (traditional diag() and note() style diagnostics)
Threads
subtests
Test::Aggregate
Test::Group
Test::SharedFork


WHERE TO LOOK

The new code is in lib/Test/Builder2* and tests in t/Builder2/

An outline of the redesign is in Test::Builder2::Design.


EXAMPLES

Examples can be found in examples/TB2.  These include:

* Alternative formats
* Reimplemenation of Test::NoWarnings
* Die-on-fail
* Debug-on-fail
