1ExtUtils::MakeMaker::CoUvseerragCeo(n3t)ributed Perl DocEuxmteUnttialtsi:o:nMakeMaker::Coverage(3)
2
3
4
6 ExtUtils::MakeMaker::Coverage - add a Makefile target to determine test
7 coverage using Devel::Cover
8
10 Version 0.05
11
13 This module adds an additional target to the Makefile generated by
14 "ExtUtils::MakeMaker". The target, "testcover", calls "cover", the
15 command-line script to generate test coverage statistics, to clean up
16 any data from a previous run. It then runs the tests, as if "make
17 test" was run, then calls "cover" again to generate the coverage
18 statistics.
19
20 # In Makefile.PL
21 use ExtUtils::MakeMaker;
22 use ExtUtils::MakeMaker::Coverage;
23 ...
24 # if you already have a MY::postamble...
25 sub MY::postamble {
26 testcover();
27 ...
28 }
29
30 # if you wish to tweak the testcover target that will be written,
31 # alter it's configuration.
32 $conf = ExtUtils::MakeMaker::Coverage->config;
33
34 In your shell
35
36 > perl Makefile.PL
37 > make
38 > make testcover
39
41 testcover
42 This method is exported for use when there already is a MY::postamble
43 in the Makefile.PL. In that case, adding a call to the testcover
44 method will add the necessary Makefile steps.
45
46 config
47 This method returns the internal config object used by this package to
48 create the "testcover" target for the Makefile.
49
50 You can change parts of the "testcover" target by setting accessors of
51 this object
52
53 binary
54 The value to use for the "cover" binary. Defaults to "cover".
55
56 format
57 The output format to use for "cover -report". Defaults to none,
58 using "cover"'s default settings. Consult "perldoc cover" for
59 documentation on its "-report" switch.
60
61 ignore
62 An array ref of patterns to ignore when generating the coverage
63 report. Defaults to an empty list. Consult "perldoc cover" for
64 documentation on its "-ignore" switch.
65
66 files
67 An array ref of test files to run for this coverage reprort.
68 Defaults to the "$(TESTFILES)" variable as defined in your
69 "Makefile". Consult "perldoc ExtUtils::MakeMaker" for details.
70
71 cover_statement
72 Boolean indicating whether to run coverage on statements. Defaults
73 to true. Consult "perldoc cover" for documentation on its
74 "-coverage" switch.
75
76 cover_branch
77 Boolean indicating whether to run coverage on branches. Defaults to
78 true. Consult "perldoc cover" for documentation on its "-coverage"
79 switch.
80
81 cover_subroutine
82 Boolean indicating whether to run coverage on subroutines. Defaults
83 to true. Consult "perldoc cover" for documentation on its
84 "-coverage" switch.
85
86 cover_condition
87 Boolean indicating whether to run coverage on conditions. Defaults
88 to true. Consult "perldoc cover" for documentation on its
89 "-coverage" switch.
90
91 cover_pod
92 Boolean indicating whether to run coverage on POD. Defaults to
93 true. Consult "perldoc cover" for documentation on its "-coverage"
94 switch.
95
96 Example:
97
98 $config = ExtUtils::MakeMaker::Coverage->config;
99
100 $config->pod(0); # disable pod coverage
101 $config->files(['t/1.t', 't/2.t']); # use these test files only
102 $config->ignore(['SCCS']); # ignore files with these
103 # patterns in their path
104
106 This is alpha quality code in terms of features. For this module to be
107 usable for as many modules as possible, the following additional
108 features are needed.
109
110 BSD make
111 From my testing, if you run the testcover step using a BSD make,
112 you will get coverage statistics for the test scripts. This is not
113 at all useful. gmake is suggested until this issue is resolved.
114
115 nmake
116 I have not tested this enough with nmake. I have done some initial
117 changes to make it work, but it requires more refactoring to get to
118 where I'd like to see it. Expect full support in a release or two.
119
121 Steve Peters, "<steve@fisharerojo.org>"
122
124 Please report any bugs or feature requests to
125 "bug-extutils-makemaker-coverage@rt.cpan.org", or through the web
126 interface at <http://rt.cpan.org>. I will be notified, and then you'll
127 automatically be notified of progress on your bug as I make changes.
128
130 Paul Johnson
131 For developing "Devel::Cover" and enduring my many questions on
132 IRC.
133
134 Andy Lester
135 For helping to make me a test-infected Perl programmer.
136
137 Jos Boumans
138 For making many of the changes for the 0.05 release, including the
139 testcover script.
140
142 Devel::Cover
143 <http://qa.perl.org>
144
146 Copyright 2005 Steve Peters, All Rights Reserved.
147
148 This program is free software; you can redistribute it and/or modify it
149 under the same terms as Perl itself.
150
151
152
153perl v5.38.0 2023-07-20 ExtUtils::MakeMaker::Coverage(3)