Test::Manifest - interact with a t/test_manifest file


Test::Manifest - interact with a t/test_manifest file


See the functions section.


MakeMaker assumes that you want to run all of the .t files in the t/ directory in ascii-betical order during make test unless you say otherwise. This leads to some interesting naming schemes for test files to get them in the desired order.

You can specify any order or any files that you like, though, with the test directive to WriteMakefile.

Test::Manifest looks in the t/test_manifest file to find out which tests you want to run and the order in which you want to run them. It constructs the right value for MakeMaker to do the right thing.



Run all of the files in t/test_manifest through Test::Harness:runtests in the order they appear in the file.

If you want to use this, in Makefile.PL you need to override some MakeMaker magic (after you load ExtUtils::MakeMaker). I recommend putting something like this directly in Makefile.PL so it does not depend on anything else. A Makefile.PL with dependencies is a big headache.

        sub ExtUtils::MM_Any::test_via_harness
                my($self, $perl, $tests) = @_;

                return qq|\t$perl "-MTest::Manifest" | .
                           qq|"-e" "run_t_manifest(\$(TEST_VERBOSE), '\$(INST_LIB)', | .


In scalar context it returns a single string that you can use directly in WriteMakefile().

In list context it returns a list of the files it found in t/test_manifest.

If a t/test_manifest file does not exist, get_t_files() returns nothing.

get_t_files() warns you if it can't find t/test_manifest, or if entries start with ``t/''.


Creates the test_manifest file in the t directory by reading the contents of the t directory.

TO DO: specify tests in argument lists.

TO DO: specify files to skip.


Returns the name of the test manifest file, relative to t/


brian d foy, <bdfoy@cpan.org>


Copyright 2002, brian d foy, All Rights Reserved

You may use and distribute this module under the same terms as Perl itself

 Test::Manifest - interact with a t/test_manifest file