Michael G Schwern
and 1 contributors


Test::Legacy - Test.pm workalike that plays well with other Test modules


  # use Test;
  use Test::Legacy;

  ...leave all else the same...


Test.pm suffers from the problem of not working well with other Test modules. If you have a test written using Test.pm and want to use another module, Test::Exception for example, you cannot.

Test::Legacy is a reimplementation of Test.pm using Test::Builder. What this means is Test::Legacy can be used with other Test::Builder derived modules (such as Test::More, Test::Exception, and most everything released in the last couple years) in the same test script.

Test::Legacy strives to work as much like Test.pm as possible. It allows one to continue to take advantage of additional Test modules without having to immediately rewrite all your tests to use Test::More.

Test::Legacy and Test::More

You're often going to be wanting to use Test::Legacy in conjunction with Test::More. Because they export a bunch of the same functions they can get a little annoying to deal with. Fortunately, Test::Legacy::More is provided to smooth things out.


Test::Legacy does have some differences from Test.pm. Here are the known ones. Patches welcome.

  • diagnostics

    Because Test::Legacy uses Test::Builder for most of the work, failure diagnostics are not the same as Test.pm and are unlikely to ever be.

  • onfail

    Currently the onfail subroutine does not get passed a description of test failures. This is slated to be fixed in the future.


Michael G Schwern <schwern@pobox.com>


Copyright 2004, 2005 by Michael G Schwern <schwern@pobox.com>.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See http://www.perl.com/perl/misc/Artistic.html


This is an emulation of Test.pm 1.25.


Test, Test::More, Test::Legacy::More