Changes for version 1.005000_001 - 2011-11-17

  • This is the first alpha release of what has been termed Test::Builder1.5. It is Test::Builder implemented with the Test::Builder2 internals (formatters, event system, etc...). Aside from thread support, it is feature complete and supports all existing features of Test::Builder, Test::Simple and Test::More.
  • Tests should continue to work as written. Please report any breakages at https://github.com/schwern/test-more/issues/
  • Incompatible Changes (since 2.00_07)
  • A lot, too many to list. If you were using an earlier alpha, all bets are off.
  • Incompatible Changes (since 0.98)
  • The test output format has changed in small ways. A later release will provide the means to format the output just like 0.98 does now.

Changes for version 2.00_07 - 2011-02-28

  • Incompatible Changes (since 2.00_01)
  • TB2::Event::Log now uses symbolic levels, not numeric. This lets us add new levels later. [github 111]
  • Event log levels have been lower cased.
  • The emergency and critical log levels have been removed. They didn't have a use case.
  • TB2::Event::Log->levels now returns in order from lowest to highest.
  • New Features
  • Added TB2::Event::Log->between_levels() to compare log levels.
  • The TAP formatter now respects log events.
  • Test::Builder->diag and ->note now use log events and the formatter.
  • Documentation
  • The suggested meanings of event log levels are now documented.
  • Bug Fixes
  • Fixed a skip() or todo_skip() called before a plan. [github 132]

Changes for version 2.00_06 - 2011-01-27

  • Incompatible Changes (since 2.00_01)
  • The EventCoordinator now only has one history object. histories() is now history(). clear_history() and add_histories() are gone. [github 115]
  • Subtest handling has been removed from the TAP formatter. The design was wrong. It will come back later in a better form [github 120]
  • Test::Builder2::Counter, History and Formatter are no longer singletons. This is unnecessary, use the objects provided by your EventCoordinator.
  • stream_depth() is now a method on the History object, not the TAP formatter. This makes it available to all event watchers. [github 118]
  • history is now posted events before the formatter. This lets the formatter ask the history object about the test state.
  • INNER_accept_event and INNER_accept_result are now gone from the Formatter. Write accept_event and accept_result normally.
  • TB2->ok will now start the stream if there is not one already
  • New Features
  • Added Test::Builder2::CanLoad to protect $! and $@ from tests loading modules internally.
  • Added Test::Builder2::Tester to test Test:: modules independent of their format. [github 112]
  • Added Test::Builder2::History->plan to capture the plan event so builders don't have to
  • Test::Builder no longer tracks the plan on its own, it uses the shared History object. [github 125]
  • Bug Fixes
  • More $@ and $! protection.
  • Test::Builder now works with non-TAP formatters (or no formatter at all)

Changes for version 2.00_05 - 2011-01-24

  • Bug Fix
  • reset() was not grabbing a fresh copy of STDOUT and STDERR
  • Test Fix
  • Fixed t/Builder/fork_with_new_stdout.t on Windows.

Changes for version 2.00_04 - 2011-01-18

  • Test Fix
  • Work around a qr// bug in Debian etch's perl in t/Builder2/NoWarnings.t
  • Tests looking for Mouse can now correctly find it.
  • New Features
  • Added a Log event (nothing using it yet)
  • Added a Comment event (nothing using it yet)
  • Bug Fixes
  • Upgraded Mouse to 0.87
  • Fixed the SimpleHTML example
  • TB2::Streamer::TAP->error_fh could get accidentally initialized to undef.

Changes for version 2.00_03 - 2011-01-10

  • Test Fix
  • Casing mistake in t/CanDupFilehandles.t

Changes for version 2.00_02 - 2011-01-09

  • Second alpha release of Test::Builder2. Technology Demonstrator. Design complete. Threads broken. Subtests broken. Test::Builder converted to use Test::Builder2 infrastructure. Let's see how much of CPAN this breaks.

Changes for version 2.00_01 - 2010-09-06

  • First alpha release of Test::Builder2. Technology Preview. Very incomplete.

Changes for version 0.98_01 - 2011-11-08

  • Bug Fixes
  • BAIL_OUT works inside a subtest. (Larry Leszczynski) [github #138]
  • subtests now work with threads turned on. [github #145]
  • Feature Changes
  • use_ok() will now apply lexical effects. [rt.cpan.org 67538] (Father Chrysostomos)
  • Misc
  • Test::More, Test::Simple and Test::Builder::Module now require a minimum version of Test::Builder. This avoids Test::More and Test::Builder from getting out of sync. [github #89]

Documentation

Explaining the design of Test::Builder2
A tutorial about writing really basic tests

Modules

Record an assert happening
A stack of where asserts were called
Goes Nowhere Does Nothing
A role for duplicating filehandles
load modules without effecting global variables
Counts the number of tests run
A test event role
Abort testing
an event representing a comment
a logging event
Set the plan for the current stream
End of a subtest event
Start of a subtest event
End of a test stream event
Metadata for the current test
Start of a test stream event
Coordinate events amongst the builders
A role which handles events and results
Convenience module to load all core TB2 events
Base class for formating test results
Use multiple formatters at once
A formatter that does nothing
Formatter as the latest stable TAP
Formatter as TAP version 13
A role providing a shared default object
Manage the history of test results
Write a test module
Store no history, just keep stats
Enforces there being only one plan per test
A factory to generate results.
Store the result of an assert
The assert failed
The assert passed
The assert did not run
The assert is expected to fail
The result of the assert is not known
A stack object to be used when you need a stack of things.
A stack builder
Role to output formatted test results
A simple streamer that prints
A streamer for TAP output
Object which holds the state of the test
Testing a Test:: module
Mouse types used by Test::Builder2
Backend for building test libraries
Base class for test modules
test testsuites that have been built with Test::Builder
turn on colour in Test::Builder::Tester
2nd Generation test library builder
yet another framework for writing test scripts
Basic utilities for writing tests.

Provides

in lib/TB2/CanTry.pm
in lib/TB2/Formatter/POSIX.pm
in lib/TB2/Formatter/PlusMinus.pm
in lib/TB2/Streamer/Debug.pm
in lib/TB2/threads/shared.pm
in lib/TB2/threads/shared/off.pm
in lib/TB2/threads/shared/on.pm
in lib/Test/Builder/Formatter/TAP.pm
in lib/Test/Builder/Tee.pm
in lib/Test/Builder/Tester.pm