1Test::Dependencies(3) User Contributed Perl DocumentationTest::Dependencies(3)
2
3
4
6 Test::Dependencies - Ensure that your Makefile.PL specifies all module
7 dependencies
8
10 Version 0.12
11
13 In your t/00-dependencies.t:
14
15 use Test::Dependencies exclude =>
16 [qw/ Your::Namespace Some::Other::Namespace /];
17
18 ok_dependencies();
19
21 Makes sure that all of the modules that are 'use'd are listed in the
22 Makefile.PL as dependencies.
23
25 You can pass options to the module via the 'use' line. The available
26 options are:
27
28 exclude
29 Specifies the list of namespaces for which it is ok not to have
30 specified dependencies.
31
32 style
33 Specifies the style of module usage checking to use. There are two
34 valid values: "light" and "heavy". The default is heavy. The
35 light style uses regular expressions to try and guess which modules
36 are required. It is fast, but can get confused by here-docs,
37 multi-line strings, data sections, etc. The heavy style actually
38 compiles the file and asks perl which modules were used. It is
39 slower than the light style, but much more accurate. If you have a
40 very large project and you don't want to wait for the heavy style
41 every time you run "make test," you might want to try the light
42 style or look into the overrides below.
43
44 Whether a style is specified or not, the style used can be
45 overriden by the environment variable TDSTYLE. This is useful, for
46 example, if you want the heavy style to be used normally, but don't
47 want to take the time checking dependencies on your smoke test
48 server.
49
50 Example usage:
51
52 use Test::Dependencies
53 exclude => ['Test::Dependencies'],
54 style => 'light';
55
57 ok_dependencies
58 This should be the only test called in the test file. It scans bin/
59 and lib/ for module usage and t/ for build usage. It will then test
60 that all modules used are listed as required in Makefile.PL, all
61 modules used in t/ are listed as build required, that all modules
62 listed are actually used, and that modules that are listed are not in
63 the core list.
64
66 · Jesse Vincent "<jesse at bestpractical.com>"
67
68 · Alex Vandiver "<alexmv at bestpractical.com>"
69
70 · Zev Benjamin "<zev at cpan.org>"
71
73 · Test::Dependencies does not track module version requirements.
74
75 · Perl version for "already in core" test failures is hardcoded.
76
77 Please report any bugs or feature requests to "bug-test-dependencies at
78 rt.cpan.org", or through the web interface at
79 http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-Dependencies
80 <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-Dependencies>. I
81 will be notified, and then you'll automatically be notified of progress
82 on your bug as I make changes.
83
85 You can find documentation for this module with the perldoc command.
86
87 perldoc Test::Dependencies
88
89 You can also look for information at:
90
91 · AnnoCPAN: Annotated CPAN documentation
92
93 http://annocpan.org/dist/Test-Dependencies
94 <http://annocpan.org/dist/Test-Dependencies>
95
96 · CPAN Ratings
97
98 http://cpanratings.perl.org/d/Test-Dependencies
99 <http://cpanratings.perl.org/d/Test-Dependencies>
100
101 · RT: CPAN's request tracker
102
103 http://rt.cpan.org/NoAuth/Bugs.html?Dist=Test-Dependencies
104 <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Test-Dependencies>
105
106 · Search CPAN
107
108 http://search.cpan.org/dist/Test-Dependencies
109 <http://search.cpan.org/dist/Test-Dependencies>
110
112 Copyright (c) 2007, Best Practical Solutions, LLC. All rights reserved.
113
114 This module is free software; you can redistribute it and/or modify it
115 under the same terms as Perl itself. See perlartistic.
116
117 DISCLAIMER OF WARRANTY
118
119 BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
120 FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
121 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
122 PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
123 EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
124 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
125 ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH
126 YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
127 NECESSARY SERVICING, REPAIR, OR CORRECTION.
128
129 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
130 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
131 REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE
132 TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR
133 CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
134 SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
135 RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
136 FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
137 SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
138 DAMAGES.
139
140
141
142perl v5.12.3 2009-11-15 Test::Dependencies(3)