This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
ExtUtils::MakeMaker 5.92_01 -> 5.94_02
[perl5.git] / lib / ExtUtils / Command / MM.pm
1 package ExtUtils::Command::MM;
2
3 use strict;
4
5 require 5.005_03;
6 require Exporter;
7 use vars qw($VERSION @ISA @EXPORT);
8 @ISA = qw(Exporter);
9
10 @EXPORT = qw(test_harness);
11 $VERSION = '0.01';
12
13 =head1 NAME
14
15 ExtUtils::Command::MM - Commands for the MM's to use in Makefiles
16
17 =head1 SYNOPSIS
18
19   perl -MExtUtils::Command::MM -e "function" files...
20
21
22 =head1 DESCRIPTION
23
24 B<FOR INTERNAL USE ONLY!>  The interface is not stable.
25
26 ExtUtils::Command::MM encapsulates code which would otherwise have to
27 be done with large "one" liners.
28
29 They all read their input from @ARGV unless otherwise noted.
30
31 Any $(FOO) used in the examples are make variables, not Perl.
32
33 =over 4
34
35 =item B<test_harness>
36
37   test_harness($verbose, @test_libs);
38
39 Runs the tests on @ARGV via Test::Harness passing through the $verbose
40 flag.  Any @test_libs will be unshifted onto the test's @INC.
41
42 @test_libs are run in alphabetical order.
43
44 =cut
45
46 sub test_harness {
47     require Test::Harness;
48     require File::Spec;
49
50     $Test::Harness::verbose = shift;
51
52     local @INC = @INC;
53     unshift @INC, map { File::Spec->rel2abs($_) } @_;
54     Test::Harness::runtests(sort { lc $a cmp lc $b } @ARGV);
55 }
56
57 =back
58
59 =cut
60
61 1;