The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 1.005000_005 - 2012-04-26

  • New Features
  • cmp_ok() will error when used with something which is not a comparison operator, including =, += and the like.
  • Bug Fixes
  • Using a reference as a test name works again. [github #264]
  • Protected against Test::More accidentally overwriting $! [github #268] [github #266]
  • Restored the behavior of a fork, it will not issue its own plan, making testing with fork easier.
  • Test::Builder->name() has been restored. [github #220] (Matthew Horsfall)
  • TB2::BlackHole no longer tries to AUTOLOAD its destructor. [github #280] (Peter Rabbitson)
  • Threads work on 5.12 and 5.10 again. (Peter Rabbitson)
  • Doc Fixes
  • use_ok() has been discouraged and de-emphasized as a general replacement for `use` in tests. [github #288]
  • Incompatible Changes with previous alphas
  • TB2::Counter has been removed [github 119]
  • The test counter has been moved from the TAP formatter into TB2::History [github 190]
  • TB2::TestState is no longer a complete subclass of TB2::EventCoordinator, but delegates most EC methods. The isa/can trickery caused threading issues. [github 291]
  • TB2::TestState->current_coordinator is now TB2::TestState->ec.
  • use_ok() will no longer apply lexical pragams. The incompatibilities and extra complexity is not worth the marginal use.

Changes for version 1.005000_004 - 2012-03-25

  • Bug Fixes
  • Fix the thread crashes occurring with 5.12 and down.
  • Test Fixes
  • t/History/child_process.t was failing, the forked processes were improperly coordinated.
  • Incompatible Changes with previous alphas
  • coordinate_threads() has been removed. It had no use case and was complicating threads which are quite complicated enough thank you.

Changes for version 1.005000_003 - 2012-03-22

  • Distribution Changes
  • Added an explicit license file and copies of the GPL1 and Artistic License.
  • Changed the URL pointing to the Perl license to use the dev.perl.org one pointing at the Perl license, not just the Artistic.
  • New Features
  • The default formatter can be changed several ways. use Some::Test formatter => "Some::Other::Formatter"; $builder->set_formatter( $other_formatter ); TB2_FORMATTER_CLASS environment variable [github 244] [github 243]
  • A new formatter, TB2::Formatter::TAP::TB1, emulates all the quirks of Test::Builder 0.98. [github 215]
  • Test::Builder::Tester now uses TB2::Formatter::TAP::TB1 so tests written with TBT remain compatible. TBT is discouraged, use Test::Tester.
  • Everything responds to object_id() now. [github 162]
  • Bug Fixes
  • subtest() once again returns the Result of the subtest.
  • Remove unnecessary uses of local $_ in Test::Builder::Tester. Father Chrysostomos says it interferes with a caller's tied $_.
    • rt.cpan.org 73543
  • Quiet a warning about $TODO when a test function is called at BEGIN time and outside the package into which Test::More was exported. [github 253]
  • Quiet warnings in the TAP formatter when a result name is undefined. [github 260]
  • Incompatible changes with previous alphas
  • TB2::NoHistory has been deleted before somebody relies on it. It was unmaintained and will be replaced by a TB2::History feature. See github 198. [github 241]
  • Events no longer have an event_id method, it's all object_id.
  • Documentation Changes
  • $this has been replaced with $thing to avoid Javascript or C++ folks being confused. (Karen Etheridge)

Changes for version 1.005000_002 - 2011-11-28

  • This release is now 100% feature complete and supports all documented features of Test::Builder 0.98. From this point forward it's bug fixing.
  • New Features
  • Test::Builder->in_subtest() will tell you if you're currently in a subtest. (dunsmoreb) [github/229]
  • Bug Fixes
  • Thread support is now 100% operational.
  • use_ok() in 1.005000_001 was leaking pragmas from inside Test::More. This looked like Test::More was forcing strict. [rt.cpan.org 67538] (same as 0.98_02) (Father Chrysostomos)
  • subtest(), child(), name() and parent() are now completely removed, no stubs, so that a can() check will not find them. This fixes some modules. (dunsmoreb) [github/229]
  • Doc Fixes
  • References to "stream" have all been turned to "test" to be consistent with the new terminology. [github issue/211]
  • Performance Improvements
  • Runtime performance of a basic test has been significantly improved.
  • Some Known Broken Dependencies
  • POE
  • Test::Tester (and anything based on it)
  • Test::NoWarnings (because of Test::Tester)
  • Test::Deep (because of Test::Tester)
  • Test::Class
  • Test::SharedFork
  • Test::Aggregate

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 with previous alphas
  • 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 0.98_03

  • New Features
  • cmp_ok() will error when used with something which is not a comparison operator, including =, += and the like.
  • Bug Fixes
  • use_ok() was calling class->import without quoting which could cause problems if "class" is also a function.
  • Doc Fixes
  • use_ok() has been discouraged and de-emphasized as a general replacement for `use` in tests. [github #288]
  • Incompatible Changes With Previous Alphas
  • use_ok() will no longer apply lexical pragams. The incompatibilities and extra complexity is not worth the marginal use.

Changes for version 0.98_02 - 2011-11-24

  • Bug Fixes
  • use_ok() in 0.98_01 was leaking pragmas from inside Test::More. This looked like Test::More was forcing strict. [rt.cpan.org 67538] (Father Chrysostomos)

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
A test event role
Abort testing
an event representing a comment
a logging event
Set the plan for the current test
End of a subtest event
Start of a subtest event
End of a test event
Metadata for the current test
Start of a test event
Coordinate events amongst the builders
A role which handles events and results
Convenience module to load all core TB2 events
Base class for formatting test results
Use multiple formatters at once
A formatter that does nothing
Formatter as the latest stable TAP
Base class for TAP formatters
TAP formatter for compatibily with 0.98
TAP version 12 formatter
TAP version 13 formatter
A role providing a shared default object
a unique id in the current process
Manage the history of test results
Write a test module
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
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 modules 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/CanOpen.pm
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/ThreadSafeFilehandleAccessor.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/Streamer.pm