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

Changes for version 1.005000_006 - 2013-04-12

  • New Features
  • Memory usage will not grow as more tests are run.
  • Added TB2::History->last_result and last_event to retrieve the last result and event seen.
  • Clarify who to contact when getting a WHOA! [github 324] (Noirin Plunkett)
  • TB2::Formatter::SimpleHTML now shows the file and line. (Michael G Schwern)
  • Add TB2::History->literal_pass_count and literal_fail_count to record results with literal_pass and literal_fail. (Michael G Schwern)
  • Add TB2::History->last_result and last_event to record the last seen event and result. (Michael G Schwern)
  • Bug Fixes
  • Patched TB2::Mouse to not blow over tied $_ (a local $_ bug). (Father Chrysostomos) [github 293]
  • Test::Builder::Tester will now set a plan in test tests emulating an undocumented 0.x feature that some tests accidentally rely on. [github 327] [github 328]
  • Test::Builder::Tester will now turn off the ending stuff to emulate an undocumented 0.x feature that some tests accidentally rely on. [github #276]
  • Fix TB2::Formatter::PlusMinus and TB2::Formatter::POSIX. They suffered bit rot.
  • Conditionally call special methods on Formatters so things don't blow up on non-TAP formatters. (Michael G Schwern)
  • Fix test_fail called via a do statement. [github #349] (nnutter)
  • Fix TB2_FORMATTER_CLASS with taint mode tests. [github #357] (Michael G Schwern)
  • Doc Fixes
  • Typo and POD formatting fixes. [github #318] [github #320] [github #355] (Ben Bullock, pdl, derek.mead@gmail.com)
  • Add a COMPATIBILITY section to the Test::More docs. [github #344] (pdl, Michael G Schwern)
  • Fix UTF-8 encoding errors in the docs. [github #348] (Michael G Schwern)
  • Misc
  • Update the resources meta data to point at the correct repository, issues mailing list and home page.
  • Test::Builder::Tester is now discouraged. Use Test::Tester or TB2::Tester instead.
  • Incompatible Changes
  • The result of each test is no longer stored by default. This keeps the test framework from consuming more and more memory as tests are run. Test::Builder->details and Test::Builder->summary will throw exceptions by default. For most needs, they are replaced with statistical methods in TB2::History. [github 198]
  • Feature Changes
  • 'use Test::More no_plan => 1' no longer warns. This allows us to simplify the import argument handling, everything is a hash now (or can be converted into one). (Michael G Schwern)
  • Test Fixes
  • Fix tests for Carp 1.25 [github 321] (Michael G Schwern)

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 affecting 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
Holds information about the state of the test
Store all events
Throw out all events
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
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