The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


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


  # use Test;
  use Test::Legacy;

  ...leave all else the same...

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

Test::Legacy is a reimplementation of 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 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 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 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 <>


Copyright 2004, 2005 by Michael G Schwern <>.

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



This is an emulation of 1.25.


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