Codebase list libtest-reporter-perl / 45e90ba
Import upstream version 1.5203+git20180421.1.efb4a11 Debian Janitor 3 years ago
25 changed file(s) with 135 addition(s) and 1578 deletion(s). Raw diff Collapse all Expand all
11
22 For the complete changelog, visit:
33 http://github.com/dagolden/test-reporter/commits/master
4
5 {{$NEXT}}
46
57 1.62 2015-04-06 12:02:21-04:00 America/New_York
68
+0
-379
LICENSE less more
0 This software is copyright (c) 2015 by Authors and Contributors.
1
2 This is free software; you can redistribute it and/or modify it under
3 the same terms as the Perl 5 programming language system itself.
4
5 Terms of the Perl programming language system itself
6
7 a) the GNU General Public License as published by the Free
8 Software Foundation; either version 1, or (at your option) any
9 later version, or
10 b) the "Artistic License"
11
12 --- The GNU General Public License, Version 1, February 1989 ---
13
14 This software is Copyright (c) 2015 by Authors and Contributors.
15
16 This is free software, licensed under:
17
18 The GNU General Public License, Version 1, February 1989
19
20 GNU GENERAL PUBLIC LICENSE
21 Version 1, February 1989
22
23 Copyright (C) 1989 Free Software Foundation, Inc.
24 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25
26 Everyone is permitted to copy and distribute verbatim copies
27 of this license document, but changing it is not allowed.
28
29 Preamble
30
31 The license agreements of most software companies try to keep users
32 at the mercy of those companies. By contrast, our General Public
33 License is intended to guarantee your freedom to share and change free
34 software--to make sure the software is free for all its users. The
35 General Public License applies to the Free Software Foundation's
36 software and to any other program whose authors commit to using it.
37 You can use it for your programs, too.
38
39 When we speak of free software, we are referring to freedom, not
40 price. Specifically, the General Public License is designed to make
41 sure that you have the freedom to give away or sell copies of free
42 software, that you receive source code or can get it if you want it,
43 that you can change the software or use pieces of it in new free
44 programs; and that you know you can do these things.
45
46 To protect your rights, we need to make restrictions that forbid
47 anyone to deny you these rights or to ask you to surrender the rights.
48 These restrictions translate to certain responsibilities for you if you
49 distribute copies of the software, or if you modify it.
50
51 For example, if you distribute copies of a such a program, whether
52 gratis or for a fee, you must give the recipients all the rights that
53 you have. You must make sure that they, too, receive or can get the
54 source code. And you must tell them their rights.
55
56 We protect your rights with two steps: (1) copyright the software, and
57 (2) offer you this license which gives you legal permission to copy,
58 distribute and/or modify the software.
59
60 Also, for each author's protection and ours, we want to make certain
61 that everyone understands that there is no warranty for this free
62 software. If the software is modified by someone else and passed on, we
63 want its recipients to know that what they have is not the original, so
64 that any problems introduced by others will not reflect on the original
65 authors' reputations.
66
67 The precise terms and conditions for copying, distribution and
68 modification follow.
69
70 GNU GENERAL PUBLIC LICENSE
71 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
72
73 0. This License Agreement applies to any program or other work which
74 contains a notice placed by the copyright holder saying it may be
75 distributed under the terms of this General Public License. The
76 "Program", below, refers to any such program or work, and a "work based
77 on the Program" means either the Program or any work containing the
78 Program or a portion of it, either verbatim or with modifications. Each
79 licensee is addressed as "you".
80
81 1. You may copy and distribute verbatim copies of the Program's source
82 code as you receive it, in any medium, provided that you conspicuously and
83 appropriately publish on each copy an appropriate copyright notice and
84 disclaimer of warranty; keep intact all the notices that refer to this
85 General Public License and to the absence of any warranty; and give any
86 other recipients of the Program a copy of this General Public License
87 along with the Program. You may charge a fee for the physical act of
88 transferring a copy.
89
90 2. You may modify your copy or copies of the Program or any portion of
91 it, and copy and distribute such modifications under the terms of Paragraph
92 1 above, provided that you also do the following:
93
94 a) cause the modified files to carry prominent notices stating that
95 you changed the files and the date of any change; and
96
97 b) cause the whole of any work that you distribute or publish, that
98 in whole or in part contains the Program or any part thereof, either
99 with or without modifications, to be licensed at no charge to all
100 third parties under the terms of this General Public License (except
101 that you may choose to grant warranty protection to some or all
102 third parties, at your option).
103
104 c) If the modified program normally reads commands interactively when
105 run, you must cause it, when started running for such interactive use
106 in the simplest and most usual way, to print or display an
107 announcement including an appropriate copyright notice and a notice
108 that there is no warranty (or else, saying that you provide a
109 warranty) and that users may redistribute the program under these
110 conditions, and telling the user how to view a copy of this General
111 Public License.
112
113 d) You may charge a fee for the physical act of transferring a
114 copy, and you may at your option offer warranty protection in
115 exchange for a fee.
116
117 Mere aggregation of another independent work with the Program (or its
118 derivative) on a volume of a storage or distribution medium does not bring
119 the other work under the scope of these terms.
120
121 3. You may copy and distribute the Program (or a portion or derivative of
122 it, under Paragraph 2) in object code or executable form under the terms of
123 Paragraphs 1 and 2 above provided that you also do one of the following:
124
125 a) accompany it with the complete corresponding machine-readable
126 source code, which must be distributed under the terms of
127 Paragraphs 1 and 2 above; or,
128
129 b) accompany it with a written offer, valid for at least three
130 years, to give any third party free (except for a nominal charge
131 for the cost of distribution) a complete machine-readable copy of the
132 corresponding source code, to be distributed under the terms of
133 Paragraphs 1 and 2 above; or,
134
135 c) accompany it with the information you received as to where the
136 corresponding source code may be obtained. (This alternative is
137 allowed only for noncommercial distribution and only if you
138 received the program in object code or executable form alone.)
139
140 Source code for a work means the preferred form of the work for making
141 modifications to it. For an executable file, complete source code means
142 all the source code for all modules it contains; but, as a special
143 exception, it need not include source code for modules which are standard
144 libraries that accompany the operating system on which the executable
145 file runs, or for standard header files or definitions files that
146 accompany that operating system.
147
148 4. You may not copy, modify, sublicense, distribute or transfer the
149 Program except as expressly provided under this General Public License.
150 Any attempt otherwise to copy, modify, sublicense, distribute or transfer
151 the Program is void, and will automatically terminate your rights to use
152 the Program under this License. However, parties who have received
153 copies, or rights to use copies, from you under this General Public
154 License will not have their licenses terminated so long as such parties
155 remain in full compliance.
156
157 5. By copying, distributing or modifying the Program (or any work based
158 on the Program) you indicate your acceptance of this license to do so,
159 and all its terms and conditions.
160
161 6. Each time you redistribute the Program (or any work based on the
162 Program), the recipient automatically receives a license from the original
163 licensor to copy, distribute or modify the Program subject to these
164 terms and conditions. You may not impose any further restrictions on the
165 recipients' exercise of the rights granted herein.
166
167 7. The Free Software Foundation may publish revised and/or new versions
168 of the General Public License from time to time. Such new versions will
169 be similar in spirit to the present version, but may differ in detail to
170 address new problems or concerns.
171
172 Each version is given a distinguishing version number. If the Program
173 specifies a version number of the license which applies to it and "any
174 later version", you have the option of following the terms and conditions
175 either of that version or of any later version published by the Free
176 Software Foundation. If the Program does not specify a version number of
177 the license, you may choose any version ever published by the Free Software
178 Foundation.
179
180 8. If you wish to incorporate parts of the Program into other free
181 programs whose distribution conditions are different, write to the author
182 to ask for permission. For software which is copyrighted by the Free
183 Software Foundation, write to the Free Software Foundation; we sometimes
184 make exceptions for this. Our decision will be guided by the two goals
185 of preserving the free status of all derivatives of our free software and
186 of promoting the sharing and reuse of software generally.
187
188 NO WARRANTY
189
190 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
191 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
192 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
193 PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
194 OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
195 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
196 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
197 PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
198 REPAIR OR CORRECTION.
199
200 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
201 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
202 REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
203 INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
204 OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
205 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
206 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
207 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
208 POSSIBILITY OF SUCH DAMAGES.
209
210 END OF TERMS AND CONDITIONS
211
212 Appendix: How to Apply These Terms to Your New Programs
213
214 If you develop a new program, and you want it to be of the greatest
215 possible use to humanity, the best way to achieve this is to make it
216 free software which everyone can redistribute and change under these
217 terms.
218
219 To do so, attach the following notices to the program. It is safest to
220 attach them to the start of each source file to most effectively convey
221 the exclusion of warranty; and each file should have at least the
222 "copyright" line and a pointer to where the full notice is found.
223
224 <one line to give the program's name and a brief idea of what it does.>
225 Copyright (C) 19yy <name of author>
226
227 This program is free software; you can redistribute it and/or modify
228 it under the terms of the GNU General Public License as published by
229 the Free Software Foundation; either version 1, or (at your option)
230 any later version.
231
232 This program is distributed in the hope that it will be useful,
233 but WITHOUT ANY WARRANTY; without even the implied warranty of
234 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
235 GNU General Public License for more details.
236
237 You should have received a copy of the GNU General Public License
238 along with this program; if not, write to the Free Software
239 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA
240
241
242 Also add information on how to contact you by electronic and paper mail.
243
244 If the program is interactive, make it output a short notice like this
245 when it starts in an interactive mode:
246
247 Gnomovision version 69, Copyright (C) 19xx name of author
248 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
249 This is free software, and you are welcome to redistribute it
250 under certain conditions; type `show c' for details.
251
252 The hypothetical commands `show w' and `show c' should show the
253 appropriate parts of the General Public License. Of course, the
254 commands you use may be called something other than `show w' and `show
255 c'; they could even be mouse-clicks or menu items--whatever suits your
256 program.
257
258 You should also get your employer (if you work as a programmer) or your
259 school, if any, to sign a "copyright disclaimer" for the program, if
260 necessary. Here a sample; alter the names:
261
262 Yoyodyne, Inc., hereby disclaims all copyright interest in the
263 program `Gnomovision' (a program to direct compilers to make passes
264 at assemblers) written by James Hacker.
265
266 <signature of Ty Coon>, 1 April 1989
267 Ty Coon, President of Vice
268
269 That's all there is to it!
270
271
272 --- The Artistic License 1.0 ---
273
274 This software is Copyright (c) 2015 by Authors and Contributors.
275
276 This is free software, licensed under:
277
278 The Artistic License 1.0
279
280 The Artistic License
281
282 Preamble
283
284 The intent of this document is to state the conditions under which a Package
285 may be copied, such that the Copyright Holder maintains some semblance of
286 artistic control over the development of the package, while giving the users of
287 the package the right to use and distribute the Package in a more-or-less
288 customary fashion, plus the right to make reasonable modifications.
289
290 Definitions:
291
292 - "Package" refers to the collection of files distributed by the Copyright
293 Holder, and derivatives of that collection of files created through
294 textual modification.
295 - "Standard Version" refers to such a Package if it has not been modified,
296 or has been modified in accordance with the wishes of the Copyright
297 Holder.
298 - "Copyright Holder" is whoever is named in the copyright or copyrights for
299 the package.
300 - "You" is you, if you're thinking about copying or distributing this Package.
301 - "Reasonable copying fee" is whatever you can justify on the basis of media
302 cost, duplication charges, time of people involved, and so on. (You will
303 not be required to justify it to the Copyright Holder, but only to the
304 computing community at large as a market that must bear the fee.)
305 - "Freely Available" means that no fee is charged for the item itself, though
306 there may be fees involved in handling the item. It also means that
307 recipients of the item may redistribute it under the same conditions they
308 received it.
309
310 1. You may make and give away verbatim copies of the source form of the
311 Standard Version of this Package without restriction, provided that you
312 duplicate all of the original copyright notices and associated disclaimers.
313
314 2. You may apply bug fixes, portability fixes and other modifications derived
315 from the Public Domain or from the Copyright Holder. A Package modified in such
316 a way shall still be considered the Standard Version.
317
318 3. You may otherwise modify your copy of this Package in any way, provided that
319 you insert a prominent notice in each changed file stating how and when you
320 changed that file, and provided that you do at least ONE of the following:
321
322 a) place your modifications in the Public Domain or otherwise make them
323 Freely Available, such as by posting said modifications to Usenet or an
324 equivalent medium, or placing the modifications on a major archive site
325 such as ftp.uu.net, or by allowing the Copyright Holder to include your
326 modifications in the Standard Version of the Package.
327
328 b) use the modified Package only within your corporation or organization.
329
330 c) rename any non-standard executables so the names do not conflict with
331 standard executables, which must also be provided, and provide a separate
332 manual page for each non-standard executable that clearly documents how it
333 differs from the Standard Version.
334
335 d) make other distribution arrangements with the Copyright Holder.
336
337 4. You may distribute the programs of this Package in object code or executable
338 form, provided that you do at least ONE of the following:
339
340 a) distribute a Standard Version of the executables and library files,
341 together with instructions (in the manual page or equivalent) on where to
342 get the Standard Version.
343
344 b) accompany the distribution with the machine-readable source of the Package
345 with your modifications.
346
347 c) accompany any non-standard executables with their corresponding Standard
348 Version executables, giving the non-standard executables non-standard
349 names, and clearly documenting the differences in manual pages (or
350 equivalent), together with instructions on where to get the Standard
351 Version.
352
353 d) make other distribution arrangements with the Copyright Holder.
354
355 5. You may charge a reasonable copying fee for any distribution of this
356 Package. You may charge any fee you choose for support of this Package. You
357 may not charge a fee for this Package itself. However, you may distribute this
358 Package in aggregate with other (possibly commercial) programs as part of a
359 larger (possibly commercial) software distribution provided that you do not
360 advertise this Package as a product of your own.
361
362 6. The scripts and library files supplied as input to or produced as output
363 from the programs of this Package do not automatically fall under the copyright
364 of this Package, but belong to whomever generated them, and may be sold
365 commercially, and may be aggregated with this Package.
366
367 7. C or perl subroutines supplied by you and linked into this Package shall not
368 be considered part of this Package.
369
370 8. The name of the Copyright Holder may not be used to endorse or promote
371 products derived from this software without specific prior written permission.
372
373 9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
374 WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
375 MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
376
377 The End
378
0 # This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.034.
0 Changes
11 CONTRIBUTING.mkdn
2 Changes
3 LICENSE
4 MANIFEST
5 META.json
6 META.yml
7 Makefile.PL
8 README
9 cpanfile
102 dist.ini
113 lib/Test/Reporter.pm
124 lib/Test/Reporter/Transport.pm
135 lib/Test/Reporter/Transport/File.pm
146 lib/Test/Reporter/Transport/Null.pm
7 Makefile.PL
8 MANIFEST This list of files
159 perlcritic.rc
16 t/00-report-prereqs.dd
17 t/00-report-prereqs.t
10 README.mkdn
1811 t/1-reporter.t
1912 t/3-file-transport.t
2013 t/6-write-read-crlf.t
2114 t/rt-89404.t
22 xt/author/00-compile.t
23 xt/author/critic.t
24 xt/author/pod-spell.t
25 xt/release/distmeta.t
26 xt/release/minimum-version.t
27 xt/release/pod-coverage.t
28 xt/release/pod-syntax.t
29 xt/release/portability.t
30 xt/release/test-version.t
15 Test-Reporter-1.63/META.json
16 Test-Reporter-1.63/META.yml
17 META.yml Module YAML meta-data (added by MakeMaker)
18 META.json Module JSON meta-data (added by MakeMaker)
00 {
11 "abstract" : "sends test results to cpan-testers@perl.org",
22 "author" : [
3 "Adam J. Foxson <afoxson@pobox.com>",
4 "David Golden <dagolden@cpan.org>",
5 "Kirrily \"Skud\" Robert <skud@cpan.org>",
6 "Ricardo Signes <rjbs@cpan.org>",
7 "Richard Soderberg <rsod@cpan.org>",
8 "Kurt Starsinic <Kurt.Starsinic@isinet.com>"
3 "Adam J. Foxson <afoxson@pobox.com>, David Golden <dagolden@cpan.org>, Kirrily \"Skud\" Robert <skud@cpan.org>, Ricardo Signes <rjbs@cpan.org>, Richard Soderberg <rsod@cpan.org>, Kurt Starsinic <Kurt.Starsinic@isinet.com>"
94 ],
10 "dynamic_config" : 0,
11 "generated_by" : "Dist::Zilla version 5.034, CPAN::Meta::Converter version 2.150001",
5 "dynamic_config" : 1,
6 "generated_by" : "ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter version 2.150010",
127 "license" : [
138 "perl_5"
149 ],
2015 "no_index" : {
2116 "directory" : [
2217 "t",
23 "xt",
24 "examples",
25 "corpus"
26 ],
27 "package" : [
28 "DB"
18 "inc"
2919 ]
3020 },
3121 "prereqs" : {
22 "build" : {
23 "requires" : {
24 "ExtUtils::MakeMaker" : "0"
25 }
26 },
3227 "configure" : {
3328 "requires" : {
34 "ExtUtils::MakeMaker" : "6.17",
35 "perl" : "5.006"
36 }
37 },
38 "develop" : {
39 "requires" : {
40 "Dist::Zilla" : "5",
41 "Dist::Zilla::Plugin::Prereqs" : "0",
42 "Dist::Zilla::Plugin::RemovePrereqs" : "0",
43 "Dist::Zilla::PluginBundle::DAGOLDEN" : "0.072",
44 "File::Spec" : "0",
45 "File::Temp" : "0",
46 "IO::Handle" : "0",
47 "IPC::Open3" : "0",
48 "Pod::Coverage::TrustPod" : "0",
49 "Test::CPAN::Meta" : "0",
50 "Test::More" : "0",
51 "Test::Pod" : "1.41",
52 "Test::Pod::Coverage" : "1.08",
53 "Test::Spelling" : "0.12",
54 "Test::Version" : "1"
29 "ExtUtils::MakeMaker" : "6.17"
5530 }
5631 },
5732 "runtime" : {
58 "recommends" : {
59 "Mail::Send" : "0",
60 "Net::DNS" : "0",
61 "Net::Domain" : "0",
62 "Net::SMTP" : "0"
63 },
6433 "requires" : {
6534 "Carp" : "0",
6635 "Cwd" : "0",
7746 }
7847 },
7948 "test" : {
80 "recommends" : {
81 "CPAN::Meta" : "2.120900"
82 },
8349 "requires" : {
8450 "Data::Dumper" : "0",
8551 "ExtUtils::MakeMaker" : "0",
8652 "File::Find" : "0",
8753 "File::Spec" : "0",
88 "Test::More" : "0.88",
89 "perl" : "5.006"
54 "Test::More" : "0.88"
9055 }
9156 }
9257 },
93 "provides" : {
94 "Test::Reporter" : {
95 "file" : "lib/Test/Reporter.pm",
96 "version" : "1.62"
97 },
98 "Test::Reporter::Transport" : {
99 "file" : "lib/Test/Reporter/Transport.pm",
100 "version" : "1.62"
101 },
102 "Test::Reporter::Transport::File" : {
103 "file" : "lib/Test/Reporter/Transport/File.pm",
104 "version" : "1.62"
105 },
106 "Test::Reporter::Transport::Null" : {
107 "file" : "lib/Test/Reporter/Transport/Null.pm",
108 "version" : "1.62"
109 }
110 },
11158 "release_status" : "stable",
112 "resources" : {
113 "bugtracker" : {
114 "web" : "https://github.com/cpan-testers/Test-Reporter/issues"
115 },
116 "homepage" : "https://github.com/cpan-testers/Test-Reporter",
117 "repository" : {
118 "type" : "git",
119 "url" : "https://github.com/cpan-testers/Test-Reporter.git",
120 "web" : "https://github.com/cpan-testers/Test-Reporter"
121 }
122 },
123 "version" : "1.62",
124 "x_authority" : "cpan:DAGOLDEN",
125 "x_contributors" : [
126 "Andreas Koenig <andk@cpan.org>",
127 "Ed J <mohawk2@users.noreply.github.com>",
128 "Tatsuhiko Miyagawa <miyagawa@bulknews.net>",
129 "Vincent Pit <perl@profvince.com>"
130 ]
59 "version" : "1.63",
60 "x_serialization_backend" : "JSON::PP version 4.04"
13161 }
132
00 ---
11 abstract: 'sends test results to cpan-testers@perl.org'
22 author:
3 - 'Adam J. Foxson <afoxson@pobox.com>'
4 - 'David Golden <dagolden@cpan.org>'
5 - 'Kirrily "Skud" Robert <skud@cpan.org>'
6 - 'Ricardo Signes <rjbs@cpan.org>'
7 - 'Richard Soderberg <rsod@cpan.org>'
8 - 'Kurt Starsinic <Kurt.Starsinic@isinet.com>'
3 - 'Adam J. Foxson <afoxson@pobox.com>, David Golden <dagolden@cpan.org>, Kirrily "Skud" Robert <skud@cpan.org>, Ricardo Signes <rjbs@cpan.org>, Richard Soderberg <rsod@cpan.org>, Kurt Starsinic <Kurt.Starsinic@isinet.com>'
94 build_requires:
105 Data::Dumper: '0'
116 ExtUtils::MakeMaker: '0'
127 File::Find: '0'
138 File::Spec: '0'
149 Test::More: '0.88'
15 perl: '5.006'
1610 configure_requires:
1711 ExtUtils::MakeMaker: '6.17'
18 perl: '5.006'
19 dynamic_config: 0
20 generated_by: 'Dist::Zilla version 5.034, CPAN::Meta::Converter version 2.150001'
12 dynamic_config: 1
13 generated_by: 'ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter version 2.150010'
2114 license: perl
2215 meta-spec:
2316 url: http://module-build.sourceforge.net/META-spec-v1.4.html
2619 no_index:
2720 directory:
2821 - t
29 - xt
30 - examples
31 - corpus
32 package:
33 - DB
34 provides:
35 Test::Reporter:
36 file: lib/Test/Reporter.pm
37 version: '1.62'
38 Test::Reporter::Transport:
39 file: lib/Test/Reporter/Transport.pm
40 version: '1.62'
41 Test::Reporter::Transport::File:
42 file: lib/Test/Reporter/Transport/File.pm
43 version: '1.62'
44 Test::Reporter::Transport::Null:
45 file: lib/Test/Reporter/Transport/Null.pm
46 version: '1.62'
47 recommends:
48 Mail::Send: '0'
49 Net::DNS: '0'
50 Net::Domain: '0'
51 Net::SMTP: '0'
22 - inc
5223 requires:
5324 Carp: '0'
5425 Cwd: '0'
6233 strict: '0'
6334 vars: '0'
6435 warnings: '0'
65 resources:
66 bugtracker: https://github.com/cpan-testers/Test-Reporter/issues
67 homepage: https://github.com/cpan-testers/Test-Reporter
68 repository: https://github.com/cpan-testers/Test-Reporter.git
69 version: '1.62'
70 x_authority: cpan:DAGOLDEN
71 x_contributors:
72 - 'Andreas Koenig <andk@cpan.org>'
73 - 'Ed J <mohawk2@users.noreply.github.com>'
74 - 'Tatsuhiko Miyagawa <miyagawa@bulknews.net>'
75 - 'Vincent Pit <perl@profvince.com>'
36 version: '1.63'
37 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
3636 "File::Spec" => 0,
3737 "Test::More" => "0.88"
3838 },
39 "VERSION" => "1.62",
39 "VERSION" => "1.63",
4040 "test" => {
4141 "TESTS" => "t/*.t"
4242 }
+0
-300
README less more
0 NAME
1 Test::Reporter - sends test results to cpan-testers@perl.org
2
3 VERSION
4 version 1.62
5
6 SYNOPSIS
7 use Test::Reporter;
8
9 my $reporter = Test::Reporter->new(
10 transport => 'File',
11 transport_args => [ '/tmp' ],
12 );
13
14 $reporter->grade('pass');
15 $reporter->distribution('Mail-Freshmeat-1.20');
16 $reporter->send() || die $reporter->errstr();
17
18 # or
19
20 my $reporter = Test::Reporter->new(
21 transport => 'File',
22 transport_args => [ '/tmp' ],
23 );
24
25 $reporter->grade('fail');
26 $reporter->distribution('Mail-Freshmeat-1.20');
27 $reporter->comments('output of a failed make test goes here...');
28 $reporter->edit_comments(); # if you want to edit comments in an editor
29 $reporter->send() || die $reporter->errstr();
30
31 # or
32
33 my $reporter = Test::Reporter->new(
34 transport => 'File',
35 transport_args => [ '/tmp' ],
36 grade => 'fail',
37 distribution => 'Mail-Freshmeat-1.20',
38 from => 'whoever@wherever.net (Whoever Wherever)',
39 comments => 'output of a failed make test goes here...',
40 via => 'CPANPLUS X.Y.Z',
41 );
42 $reporter->send() || die $reporter->errstr();
43
44 DESCRIPTION
45 Test::Reporter reports the test results of any given distribution to the
46 CPAN Testers project. Test::Reporter has wide support for various
47 perl5's and platforms.
48
49 CPAN Testers no longer receives test reports by email, but reports still
50 resemble an email message. This module has numerous legacy "features"
51 left over from the days of email transport.
52
53 Transport mechanism
54 The choice of transport is set with the "transport" argument. CPAN
55 Testers should usually install Test::Reporter::Transport::Metabase and
56 use 'Metabase' as the "transport". See that module for necessary
57 transport arguments. Advanced testers may wish to test on a machine
58 different from the one used to send reports. Consult the CPAN Testers
59 Wiki <http://wiki.cpantesters.org/> for examples using other transport
60 classes.
61
62 The legacy email-based transports have been split out into a separate
63 Test::Reporter::Transport::Legacy distribution and methods solely
64 related to email have been deprecated.
65
66 ATTRIBUTES
67 Required attributes
68 * distribution
69
70 Gets or sets the name of the distribution you're working on, for
71 example Foo-Bar-0.01. There are no restrictions on what can be put
72 here.
73
74 * from
75
76 Gets or sets the e-mail address of the individual submitting the
77 test report, i.e. "John Doe <jdoe@example.com>".
78
79 * grade
80
81 Gets or sets the success or failure of the distributions's 'make
82 test' result. This must be one of:
83
84 grade meaning
85 ----- -------
86 pass all tests passed
87 fail one or more tests failed
88 na distribution will not work on this platform
89 unknown tests did not exist or could not be run
90
91 Transport attributes
92 * transport
93
94 Gets or sets the transport type. The transport type argument is
95 refers to a 'Test::Reporter::Transport' subclass. The default is
96 'Null', which uses the Test::Reporter::Transport::Null class and
97 does nothing when "send" is called.
98
99 You can add additional arguments after the transport selection.
100 These will be passed to the constructor of the lower-level
101 transport. See "transport_args".
102
103 $reporter->transport(
104 'File', '/tmp'
105 );
106
107 This is not designed to be an extensible platform upon which to
108 build transport plugins. That functionality is planned for the
109 next-generation release of Test::Reporter, which will reside in the
110 CPAN::Testers namespace.
111
112 * transport_args
113
114 Optional. Gets or sets transport arguments that will used in the
115 constructor for the selected transport, as appropriate.
116
117 Optional attributes
118 * comments
119
120 Gets or sets the comments on the test report. This is most commonly
121 used for distributions that did not pass a 'make test'.
122
123 * debug
124
125 Gets or sets the value that will turn debugging on or off. Debug
126 messages are sent to STDERR. 1 for on, 0 for off. Debugging
127 generates very verbose output and is useful mainly for finding bugs
128 in Test::Reporter itself.
129
130 * dir
131
132 Defaults to the current working directory. This method specifies the
133 directory that write() writes test report files to.
134
135 * timeout
136
137 Gets or sets the timeout value for the submission of test reports.
138 Default is 120 seconds.
139
140 * via
141
142 Gets or sets the value that will be appended to X-Reported-Via,
143 generally this is useful for distributions that use Test::Reporter
144 to report test results. This would be something like "CPANPLUS
145 0.036".
146
147 Deprecated attributes
148 CPAN Testers no longer uses email for submitting reports. These
149 attributes are deprecated.
150
151 * address
152
153 * mail_send_args
154
155 * mx
156
157 METHODS
158 * new
159
160 This constructor returns a Test::Reporter object.
161
162 * perl_version
163
164 Returns a hashref containing _archname, _osvers, and _myconfig based
165 upon the perl that you are using. Alternatively, you may supply a
166 different perl (path to the binary) as an argument, in which case
167 the supplied perl will be used as the basis of the above data. Make
168 sure you protect it from the shell in case there are spaces in the
169 path:
170
171 $reporter->perl_version(qq{"$^X"});
172
173 * subject
174
175 Returns the subject line of a report, i.e. "PASS Mail-Freshmeat-1.20
176 Darwin 6.0". 'grade' and 'distribution' must first be specified
177 before calling this method.
178
179 * report
180
181 Returns the actual content of a report, i.e. "This distribution has
182 been tested as part of the cpan-testers...". 'comments' must first
183 be specified before calling this method, if you have comments to
184 make and expect them to be included in the report.
185
186 * send
187
188 Sends the test report to cpan-testers@perl.org via the defined
189 "transport" mechanism. You must check errstr() on a send() in order
190 to be guaranteed delivery.
191
192 * edit_comments
193
194 Allows one to interactively edit the comments within a text editor.
195 comments() doesn't have to be first specified, but it will work
196 properly if it was. Accepts an optional hash of arguments:
197
198 * suffix
199
200 Optional. Allows one to specify the suffix ("extension") of the
201 temp file used by edit_comments. Defaults to '.txt'.
202
203 * errstr
204
205 Returns an error message describing why something failed. You must
206 check errstr() on a send() in order to be guaranteed delivery.
207
208 * write and read
209
210 These methods are used in situations where you wish to save reports
211 locally rather than transmitting them to CPAN Testers immediately.
212 You use write() on the machine that you are testing from, transfer
213 the written test reports from the testing machine to the sending
214 machine, and use read() on the machine that you actually want to
215 submit the reports from. write() will write a file in an internal
216 format that contains 'From', 'Subject', and the content of the
217 report. The filename will be represented as:
218 grade.distribution.archname.osvers.seconds_since_epoch.pid.rpt.
219 write() uses the value of dir() if it was specified, else the cwd.
220
221 On the machine you are testing from:
222
223 my $reporter = Test::Reporter->new
224 (
225 grade => 'pass',
226 distribution => 'Test-Reporter-1.16',
227 )->write();
228
229 On the machine you are submitting from:
230
231 # wrap in an opendir if you've a lot to submit
232 my $reporter;
233 $reporter = Test::Reporter->new()->read(
234 'pass.Test-Reporter-1.16.i686-linux.2.2.16.1046685296.14961.rpt'
235 )->send() || die $reporter->errstr();
236
237 write() also accepts an optional filehandle argument:
238
239 my $fh; open $fh, '>-'; # create a STDOUT filehandle object
240 $reporter->write($fh); # prints the report to STDOUT
241
242 Deprecated methods
243 * message_id
244
245 CAVEATS
246 If you experience a long delay sending reports with Test::Reporter, you
247 may be experiencing a wait as Test::Reporter attempts to determine your
248 email address. Always use the "from" parameter to set your email address
249 explicitly.
250
251 SEE ALSO
252 For more about CPAN Testers:
253
254 * CPAN Testers reports <http://www.cpantesters.org/>
255
256 * CPAN Testers wiki <http://wiki.cpantesters.org/>
257
258 SUPPORT
259 Bugs / Feature Requests
260 Please report any bugs or feature requests through the issue tracker at
261 <https://github.com/cpan-testers/Test-Reporter/issues>. You will be
262 notified automatically of any progress on your issue.
263
264 Source Code
265 This is open source software. The code repository is available for
266 public review and contribution under the terms of the license.
267
268 <https://github.com/cpan-testers/Test-Reporter>
269
270 git clone https://github.com/cpan-testers/Test-Reporter.git
271
272 AUTHORS
273 * Adam J. Foxson <afoxson@pobox.com>
274
275 * David Golden <dagolden@cpan.org>
276
277 * Kirrily "Skud" Robert <skud@cpan.org>
278
279 * Ricardo Signes <rjbs@cpan.org>
280
281 * Richard Soderberg <rsod@cpan.org>
282
283 * Kurt Starsinic <Kurt.Starsinic@isinet.com>
284
285 CONTRIBUTORS
286 * Andreas Koenig <andk@cpan.org>
287
288 * Ed J <mohawk2@users.noreply.github.com>
289
290 * Tatsuhiko Miyagawa <miyagawa@bulknews.net>
291
292 * Vincent Pit <perl@profvince.com>
293
294 COPYRIGHT AND LICENSE
295 This software is copyright (c) 2015 by Authors and Contributors.
296
297 This is free software; you can redistribute it and/or modify it under
298 the same terms as the Perl 5 programming language system itself.
299
0 ## HOW TO CONTRIBUTE
1
2 Thank you for considering contributing to this distribution. This file
3 contains instructions that will help you work with the source code.
4
5 The distribution is managed with Dist::Zilla. This means than many of the
6 usual files you might expect are not in the repository, but are generated at
7 release time, as is much of the documentation. Some generated files are
8 kept in the repository as a convenience (e.g. Makefile.PL or cpanfile).
9
10 Generally, **you do not need Dist::Zilla to contribute patches**. You do need
11 Dist::Zilla to create a tarball. See below for guidance.
12
13 ### Getting dependencies
14
15 If you have App::cpanminus 1.6 or later installed, you can use `cpanm` to
16 satisfy dependencies like this:
17
18 $ cpanm --installdeps .
19
20 Otherwise, look for either a `Makefile.PL` or `cpanfile` file for
21 a list of dependencies to satisfy.
22
23 ### Running tests
24
25 You can run tests directly using the `prove` tool:
26
27 $ prove -l
28 $ prove -lv t/some_test_file.t
29
30 For most of my distributions, `prove` is entirely sufficient for you to test any
31 patches you have. I use `prove` for 99% of my testing during development.
32
33 ### Code style and tidying
34
35 Please try to match any existing coding style. If there is a `.perltidyrc`
36 file, please install Perl::Tidy and use perltidy before submitting patches.
37
38 If there is a `tidyall.ini` file, you can also install Code::TidyAll and run
39 `tidyall` on a file or `tidyall -a` to tidy all files.
40
41 ### Patching documentation
42
43 Much of the documentation Pod is generated at release time. Some is
44 generated boilerplate; other documentation is built from pseudo-POD
45 directives in the source like C<=method> or C<=func>.
46
47 If you would like to submit a documentation edit, please limit yourself to
48 the documentation you see.
49
50 If you see typos or documentation issues in the generated docs, please
51 email or open a bug ticket instead of patching.
52
53 ### Installing and using Dist::Zilla
54
55 Dist::Zilla is a very powerful authoring tool, optimized for maintaining a
56 large number of distributions with a high degree of automation, but it has a
57 large dependency chain, a bit of a learning curve and requires a number of
58 author-specific plugins.
59
60 To install it from CPAN, I recommend one of the following approaches for
61 the quickest installation:
62
63 # using CPAN.pm, but bypassing non-functional pod tests
64 $ cpan TAP::Harness::Restricted
65 $ PERL_MM_USE_DEFAULT=1 HARNESS_CLASS=TAP::Harness::Restricted cpan Dist::Zilla
66
67 # using cpanm, bypassing *all* tests
68 $ cpanm -n Dist::Zilla
69
70 In either case, it's probably going to take about 10 minutes. Go for a walk,
71 go get a cup of your favorite beverage, take a bathroom break, or whatever.
72 When you get back, Dist::Zilla should be ready for you.
73
74 Then you need to install any plugins specific to this distribution:
75
76 $ cpan `dzil authordeps`
77 $ dzil authordeps | cpanm
78
79 Once installed, here are some dzil commands you might try:
80
81 $ dzil build
82 $ dzil test
83 $ dzil xtest
84
85 You can learn more about Dist::Zilla at http://dzil.org/
86
+0
-52
cpanfile less more
0 requires "Carp" => "0";
1 requires "Cwd" => "0";
2 requires "File::Temp" => "0";
3 requires "FileHandle" => "0";
4 requires "Sys::Hostname" => "0";
5 requires "Time::Local" => "0";
6 requires "base" => "0";
7 requires "constant" => "0";
8 requires "perl" => "5.006";
9 requires "strict" => "0";
10 requires "vars" => "0";
11 requires "warnings" => "0";
12 recommends "Mail::Send" => "0";
13 recommends "Net::DNS" => "0";
14 recommends "Net::Domain" => "0";
15 recommends "Net::SMTP" => "0";
16
17 on 'test' => sub {
18 requires "Data::Dumper" => "0";
19 requires "ExtUtils::MakeMaker" => "0";
20 requires "File::Find" => "0";
21 requires "File::Spec" => "0";
22 requires "Test::More" => "0.88";
23 requires "perl" => "5.006";
24 };
25
26 on 'test' => sub {
27 recommends "CPAN::Meta" => "2.120900";
28 };
29
30 on 'configure' => sub {
31 requires "ExtUtils::MakeMaker" => "6.17";
32 requires "perl" => "5.006";
33 };
34
35 on 'develop' => sub {
36 requires "Dist::Zilla" => "5";
37 requires "Dist::Zilla::Plugin::Prereqs" => "0";
38 requires "Dist::Zilla::Plugin::RemovePrereqs" => "0";
39 requires "Dist::Zilla::PluginBundle::DAGOLDEN" => "0.072";
40 requires "File::Spec" => "0";
41 requires "File::Temp" => "0";
42 requires "IO::Handle" => "0";
43 requires "IPC::Open3" => "0";
44 requires "Pod::Coverage::TrustPod" => "0";
45 requires "Test::CPAN::Meta" => "0";
46 requires "Test::More" => "0";
47 requires "Test::Pod" => "1.41";
48 requires "Test::Pod::Coverage" => "1.08";
49 requires "Test::Spelling" => "0.12";
50 requires "Test::Version" => "1";
51 };
2020 remove = Net::DNS
2121 remove = Net::Domain
2222 remove = Net::SMTP
23
24 [Prereqs / RuntimeRecommends]
25 Mail::Send = 0
26 Net::DNS = 0
27 Net::Domain = 0
28 Net::SMTP = 0
29
11 BEGIN{ if (not $] < 5.006) { require warnings; warnings->import } }
22 package Test::Reporter::Transport::File;
33
4 our $VERSION = '1.62';
4 our $VERSION = '1.63';
55
66 use base 'Test::Reporter::Transport';
77
2525 # ABSTRACT: File transport for Test::Reporter
2626
2727 __END__
28
29 =pod
30
31 =encoding UTF-8
32
33 =head1 NAME
34
35 Test::Reporter::Transport::File - File transport for Test::Reporter
36
37 =head1 VERSION
38
39 version 1.62
4028
4129 =head1 SYNOPSIS
4230
7361 =head2 new
7462
7563 my $sender = Test::Reporter::Transport::File->new( $dir );
76
64
7765 The C<new> method is the object constructor.
7866
7967 =head2 send
8270
8371 The C<send> method transmits the report.
8472
85 =head1 AUTHORS
73 =cut
8674
87 =over 4
88
89 =item *
90
91 Adam J. Foxson <afoxson@pobox.com>
92
93 =item *
94
95 David Golden <dagolden@cpan.org>
96
97 =item *
98
99 Kirrily "Skud" Robert <skud@cpan.org>
100
101 =item *
102
103 Ricardo Signes <rjbs@cpan.org>
104
105 =item *
106
107 Richard Soderberg <rsod@cpan.org>
108
109 =item *
110
111 Kurt Starsinic <Kurt.Starsinic@isinet.com>
112
113 =back
114
115 =head1 COPYRIGHT AND LICENSE
116
117 This software is copyright (c) 2015 by Authors and Contributors.
118
119 This is free software; you can redistribute it and/or modify it under
120 the same terms as the Perl 5 programming language system itself.
121
122 =cut
11 BEGIN{ if (not $] < 5.006) { require warnings; warnings->import } }
22 package Test::Reporter::Transport::Null;
33
4 our $VERSION = '1.62';
4 our $VERSION = '1.63';
55
66 use base 'Test::Reporter::Transport';
77
1919
2020 __END__
2121
22 =pod
23
24 =encoding UTF-8
25
26 =head1 NAME
27
28 Test::Reporter::Transport::Null - Null transport for Test::Reporter
29
30 =head1 VERSION
31
32 version 1.62
22 =for Pod::Coverage new send
3323
3424 =head1 SYNOPSIS
3525
4737 See L<Test::Reporter> and L<Test::Reporter::Transport> for general usage
4838 information.
4939
50 =for Pod::Coverage new send
40 =cut
5141
52 =head1 AUTHORS
53
54 =over 4
55
56 =item *
57
58 Adam J. Foxson <afoxson@pobox.com>
59
60 =item *
61
62 David Golden <dagolden@cpan.org>
63
64 =item *
65
66 Kirrily "Skud" Robert <skud@cpan.org>
67
68 =item *
69
70 Ricardo Signes <rjbs@cpan.org>
71
72 =item *
73
74 Richard Soderberg <rsod@cpan.org>
75
76 =item *
77
78 Kurt Starsinic <Kurt.Starsinic@isinet.com>
79
80 =back
81
82 =head1 COPYRIGHT AND LICENSE
83
84 This software is copyright (c) 2015 by Authors and Contributors.
85
86 This is free software; you can redistribute it and/or modify it under
87 the same terms as the Perl 5 programming language system itself.
88
89 =cut
11 BEGIN{ if (not $] < 5.006) { require warnings; warnings->import } }
22 package Test::Reporter::Transport;
33
4 our $VERSION = '1.62';
4 our $VERSION = '1.63';
55
66 sub new { die "Not implemented" }
77
1212 # ABSTRACT: base class for Test::Reporter transports
1313
1414 __END__
15
16 =pod
17
18 =encoding UTF-8
19
20 =head1 NAME
21
22 Test::Reporter::Transport - base class for Test::Reporter transports
23
24 =head1 VERSION
25
26 version 1.62
2715
2816 =head1 SYNOPSIS
2917
7765 =head2 new
7866
7967 my $sender = $subclass->new( @args );
80
68
8169 The C<new> method is the object constructor. It MAY take a list of any
8270 necessary configuration options. It MUST return a transport object if one
8371 is successfully created or undef if the object can not be created.
9179 message describing the failure if a report cannot be sent. It MUST NOT return
9280 a true value if the report cannot be sent.
9381
94 =head1 AUTHORS
82 =cut
9583
96 =over 4
97
98 =item *
99
100 Adam J. Foxson <afoxson@pobox.com>
101
102 =item *
103
104 David Golden <dagolden@cpan.org>
105
106 =item *
107
108 Kirrily "Skud" Robert <skud@cpan.org>
109
110 =item *
111
112 Ricardo Signes <rjbs@cpan.org>
113
114 =item *
115
116 Richard Soderberg <rsod@cpan.org>
117
118 =item *
119
120 Kurt Starsinic <Kurt.Starsinic@isinet.com>
121
122 =back
123
124 =head1 COPYRIGHT AND LICENSE
125
126 This software is copyright (c) 2015 by Authors and Contributors.
127
128 This is free software; you can redistribute it and/or modify it under
129 the same terms as the Perl 5 programming language system itself.
130
131 =cut
22 use warnings;
33 package Test::Reporter;
44
5 our $VERSION = '1.62';
5 our $VERSION = '1.63';
66
77 use Cwd;
88 use Config;
6666
6767 $self->_process_params(@_) if @_;
6868 $self->transport('Null') unless $self->transport();
69 $self->_get_mx(@_) if $self->_have_net_dns();
69 if ($self->address ne 'cpan-testers@perl.org') { #load Net::DNS only for non-deprecated address
70 $self->_get_mx(@_) if $self->_have_net_dns();
71 }
7072
7173 return $self;
7274 }
765767
766768 # ABSTRACT: sends test results to cpan-testers@perl.org
767769
768 =pod
769
770 =encoding UTF-8
771
772 =head1 NAME
773
774 Test::Reporter - sends test results to cpan-testers@perl.org
775
776 =head1 VERSION
777
778 version 1.62
770 __END__
779771
780772 =head1 SYNOPSIS
781773
816808 );
817809 $reporter->send() || die $reporter->errstr();
818810
811
819812 =head1 DESCRIPTION
820813
821814 Test::Reporter reports the test results of any given distribution to the CPAN
10601053
10611054 For more about CPAN Testers:
10621055
1063 =over 4
1064
1065 =item *
1066
1067 L<CPAN Testers reports|http://www.cpantesters.org/>
1068
1069 =item *
1070
1071 L<CPAN Testers wiki|http://wiki.cpantesters.org/>
1072
1073 =back
1074
1075 =for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan
1076
1077 =head1 SUPPORT
1078
1079 =head2 Bugs / Feature Requests
1080
1081 Please report any bugs or feature requests through the issue tracker
1082 at L<https://github.com/cpan-testers/Test-Reporter/issues>.
1083 You will be notified automatically of any progress on your issue.
1084
1085 =head2 Source Code
1086
1087 This is open source software. The code repository is available for
1088 public review and contribution under the terms of the license.
1089
1090 L<https://github.com/cpan-testers/Test-Reporter>
1091
1092 git clone https://github.com/cpan-testers/Test-Reporter.git
1093
1094 =head1 AUTHORS
1095
1096 =over 4
1097
1098 =item *
1099
1100 Adam J. Foxson <afoxson@pobox.com>
1101
1102 =item *
1103
1104 David Golden <dagolden@cpan.org>
1105
1106 =item *
1107
1108 Kirrily "Skud" Robert <skud@cpan.org>
1109
1110 =item *
1111
1112 Ricardo Signes <rjbs@cpan.org>
1113
1114 =item *
1115
1116 Richard Soderberg <rsod@cpan.org>
1117
1118 =item *
1119
1120 Kurt Starsinic <Kurt.Starsinic@isinet.com>
1121
1122 =back
1123
1124 =head1 CONTRIBUTORS
1125
1126 =for stopwords Andreas Koenig Ed J Tatsuhiko Miyagawa Vincent Pit
1127
1128 =over 4
1129
1130 =item *
1131
1132 Andreas Koenig <andk@cpan.org>
1133
1134 =item *
1135
1136 Ed J <mohawk2@users.noreply.github.com>
1137
1138 =item *
1139
1140 Tatsuhiko Miyagawa <miyagawa@bulknews.net>
1141
1142 =item *
1143
1144 Vincent Pit <perl@profvince.com>
1145
1146 =back
1147
1148 =head1 COPYRIGHT AND LICENSE
1149
1150 This software is copyright (c) 2015 by Authors and Contributors.
1151
1152 This is free software; you can redistribute it and/or modify it under
1153 the same terms as the Perl 5 programming language system itself.
1056 =for :list
1057 * L<CPAN Testers reports|http://www.cpantesters.org/>
1058 * L<CPAN Testers wiki|http://wiki.cpantesters.org/>
11541059
11551060 =cut
11561061
1157 __END__
1158
1159
11601062 1;
+0
-64
t/00-report-prereqs.dd less more
0 do { my $x = {
1 'configure' => {
2 'requires' => {
3 'ExtUtils::MakeMaker' => '6.17',
4 'perl' => '5.006'
5 }
6 },
7 'develop' => {
8 'requires' => {
9 'Dist::Zilla' => '5',
10 'Dist::Zilla::Plugin::Prereqs' => '0',
11 'Dist::Zilla::Plugin::RemovePrereqs' => '0',
12 'Dist::Zilla::PluginBundle::DAGOLDEN' => '0.072',
13 'File::Spec' => '0',
14 'File::Temp' => '0',
15 'IO::Handle' => '0',
16 'IPC::Open3' => '0',
17 'Pod::Coverage::TrustPod' => '0',
18 'Test::CPAN::Meta' => '0',
19 'Test::More' => '0',
20 'Test::Pod' => '1.41',
21 'Test::Pod::Coverage' => '1.08',
22 'Test::Spelling' => '0.12',
23 'Test::Version' => '1'
24 }
25 },
26 'runtime' => {
27 'recommends' => {
28 'Mail::Send' => '0',
29 'Net::DNS' => '0',
30 'Net::Domain' => '0',
31 'Net::SMTP' => '0'
32 },
33 'requires' => {
34 'Carp' => '0',
35 'Cwd' => '0',
36 'File::Temp' => '0',
37 'FileHandle' => '0',
38 'Sys::Hostname' => '0',
39 'Time::Local' => '0',
40 'base' => '0',
41 'constant' => '0',
42 'perl' => '5.006',
43 'strict' => '0',
44 'vars' => '0',
45 'warnings' => '0'
46 }
47 },
48 'test' => {
49 'recommends' => {
50 'CPAN::Meta' => '2.120900'
51 },
52 'requires' => {
53 'Data::Dumper' => '0',
54 'ExtUtils::MakeMaker' => '0',
55 'File::Find' => '0',
56 'File::Spec' => '0',
57 'Test::More' => '0.88',
58 'perl' => '5.006'
59 }
60 }
61 };
62 $x;
63 }
+0
-183
t/00-report-prereqs.t less more
0 #!perl
1
2 use strict;
3 use warnings;
4
5 # This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.021
6
7 use Test::More tests => 1;
8
9 use ExtUtils::MakeMaker;
10 use File::Spec;
11
12 # from $version::LAX
13 my $lax_version_re =
14 qr/(?: undef | (?: (?:[0-9]+) (?: \. | (?:\.[0-9]+) (?:_[0-9]+)? )?
15 |
16 (?:\.[0-9]+) (?:_[0-9]+)?
17 ) | (?:
18 v (?:[0-9]+) (?: (?:\.[0-9]+)+ (?:_[0-9]+)? )?
19 |
20 (?:[0-9]+)? (?:\.[0-9]+){2,} (?:_[0-9]+)?
21 )
22 )/x;
23
24 # hide optional CPAN::Meta modules from prereq scanner
25 # and check if they are available
26 my $cpan_meta = "CPAN::Meta";
27 my $cpan_meta_pre = "CPAN::Meta::Prereqs";
28 my $HAS_CPAN_META = eval "require $cpan_meta; $cpan_meta->VERSION('2.120900')" && eval "require $cpan_meta_pre"; ## no critic
29
30 # Verify requirements?
31 my $DO_VERIFY_PREREQS = 1;
32
33 sub _max {
34 my $max = shift;
35 $max = ( $_ > $max ) ? $_ : $max for @_;
36 return $max;
37 }
38
39 sub _merge_prereqs {
40 my ($collector, $prereqs) = @_;
41
42 # CPAN::Meta::Prereqs object
43 if (ref $collector eq $cpan_meta_pre) {
44 return $collector->with_merged_prereqs(
45 CPAN::Meta::Prereqs->new( $prereqs )
46 );
47 }
48
49 # Raw hashrefs
50 for my $phase ( keys %$prereqs ) {
51 for my $type ( keys %{ $prereqs->{$phase} } ) {
52 for my $module ( keys %{ $prereqs->{$phase}{$type} } ) {
53 $collector->{$phase}{$type}{$module} = $prereqs->{$phase}{$type}{$module};
54 }
55 }
56 }
57
58 return $collector;
59 }
60
61 my @include = qw(
62
63 );
64
65 my @exclude = qw(
66
67 );
68
69 # Add static prereqs to the included modules list
70 my $static_prereqs = do 't/00-report-prereqs.dd';
71
72 # Merge all prereqs (either with ::Prereqs or a hashref)
73 my $full_prereqs = _merge_prereqs(
74 ( $HAS_CPAN_META ? $cpan_meta_pre->new : {} ),
75 $static_prereqs
76 );
77
78 # Add dynamic prereqs to the included modules list (if we can)
79 my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml';
80 if ( $source && $HAS_CPAN_META ) {
81 if ( my $meta = eval { CPAN::Meta->load_file($source) } ) {
82 $full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs);
83 }
84 }
85 else {
86 $source = 'static metadata';
87 }
88
89 my @full_reports;
90 my @dep_errors;
91 my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs;
92
93 # Add static includes into a fake section
94 for my $mod (@include) {
95 $req_hash->{other}{modules}{$mod} = 0;
96 }
97
98 for my $phase ( qw(configure build test runtime develop other) ) {
99 next unless $req_hash->{$phase};
100 next if ($phase eq 'develop' and not $ENV{AUTHOR_TESTING});
101
102 for my $type ( qw(requires recommends suggests conflicts modules) ) {
103 next unless $req_hash->{$phase}{$type};
104
105 my $title = ucfirst($phase).' '.ucfirst($type);
106 my @reports = [qw/Module Want Have/];
107
108 for my $mod ( sort keys %{ $req_hash->{$phase}{$type} } ) {
109 next if $mod eq 'perl';
110 next if grep { $_ eq $mod } @exclude;
111
112 my $file = $mod;
113 $file =~ s{::}{/}g;
114 $file .= ".pm";
115 my ($prefix) = grep { -e File::Spec->catfile($_, $file) } @INC;
116
117 my $want = $req_hash->{$phase}{$type}{$mod};
118 $want = "undef" unless defined $want;
119 $want = "any" if !$want && $want == 0;
120
121 my $req_string = $want eq 'any' ? 'any version required' : "version '$want' required";
122
123 if ($prefix) {
124 my $have = MM->parse_version( File::Spec->catfile($prefix, $file) );
125 $have = "undef" unless defined $have;
126 push @reports, [$mod, $want, $have];
127
128 if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META && $type eq 'requires' ) {
129 if ( $have !~ /\A$lax_version_re\z/ ) {
130 push @dep_errors, "$mod version '$have' cannot be parsed ($req_string)";
131 }
132 elsif ( ! $full_prereqs->requirements_for( $phase, $type )->accepts_module( $mod => $have ) ) {
133 push @dep_errors, "$mod version '$have' is not in required range '$want'";
134 }
135 }
136 }
137 else {
138 push @reports, [$mod, $want, "missing"];
139
140 if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) {
141 push @dep_errors, "$mod is not installed ($req_string)";
142 }
143 }
144 }
145
146 if ( @reports ) {
147 push @full_reports, "=== $title ===\n\n";
148
149 my $ml = _max( map { length $_->[0] } @reports );
150 my $wl = _max( map { length $_->[1] } @reports );
151 my $hl = _max( map { length $_->[2] } @reports );
152
153 if ($type eq 'modules') {
154 splice @reports, 1, 0, ["-" x $ml, "", "-" x $hl];
155 push @full_reports, map { sprintf(" %*s %*s\n", -$ml, $_->[0], $hl, $_->[2]) } @reports;
156 }
157 else {
158 splice @reports, 1, 0, ["-" x $ml, "-" x $wl, "-" x $hl];
159 push @full_reports, map { sprintf(" %*s %*s %*s\n", -$ml, $_->[0], $wl, $_->[1], $hl, $_->[2]) } @reports;
160 }
161
162 push @full_reports, "\n";
163 }
164 }
165 }
166
167 if ( @full_reports ) {
168 diag "\nVersions for all modules listed in $source (including optional ones):\n\n", @full_reports;
169 }
170
171 if ( @dep_errors ) {
172 diag join("\n",
173 "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n",
174 "The following REQUIRED prerequisites were not satisfied:\n",
175 @dep_errors,
176 "\n"
177 );
178 }
179
180 pass;
181
182 # vim: ts=4 sts=4 sw=4 et:
+0
-57
xt/author/00-compile.t less more
0 use 5.006;
1 use strict;
2 use warnings;
3
4 # this test was generated with Dist::Zilla::Plugin::Test::Compile 2.052
5
6 use Test::More;
7
8 plan tests => 5;
9
10 my @module_files = (
11 'Test/Reporter.pm',
12 'Test/Reporter/Transport.pm',
13 'Test/Reporter/Transport/File.pm',
14 'Test/Reporter/Transport/Null.pm'
15 );
16
17
18
19 # fake home for cpan-testers
20 use File::Temp;
21 local $ENV{HOME} = File::Temp::tempdir( CLEANUP => 1 );
22
23
24 my $inc_switch = -d 'blib' ? '-Mblib' : '-Ilib';
25
26 use File::Spec;
27 use IPC::Open3;
28 use IO::Handle;
29
30 open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!";
31
32 my @warnings;
33 for my $lib (@module_files)
34 {
35 # see L<perlfaq8/How can I capture STDERR from an external command?>
36 my $stderr = IO::Handle->new;
37
38 my $pid = open3($stdin, '>&STDERR', $stderr, $^X, $inc_switch, '-e', "require q[$lib]");
39 binmode $stderr, ':crlf' if $^O eq 'MSWin32';
40 my @_warnings = <$stderr>;
41 waitpid($pid, 0);
42 is($?, 0, "$lib loaded ok");
43
44 if (@_warnings)
45 {
46 warn @_warnings;
47 push @warnings, @_warnings;
48 }
49 }
50
51
52
53 is(scalar(@warnings), 0, 'no warnings found')
54 or diag 'got warnings: ', ( Test::More->can('explain') ? Test::More::explain(\@warnings) : join("\n", '', @warnings) );
55
56
+0
-12
xt/author/critic.t less more
0 #!perl
1
2 use strict;
3 use warnings;
4
5 use Test::More;
6 use English qw(-no_match_vars);
7
8 eval "use Test::Perl::Critic";
9 plan skip_all => 'Test::Perl::Critic required to criticise code' if $@;
10 Test::Perl::Critic->import( -profile => "perlcritic.rc" ) if -e "perlcritic.rc";
11 all_critic_ok();
+0
-54
xt/author/pod-spell.t less more
0 use strict;
1 use warnings;
2 use Test::More;
3
4 # generated by Dist::Zilla::Plugin::Test::PodSpelling 2.006008
5 use Test::Spelling 0.12;
6 use Pod::Wordlist;
7
8
9 add_stopwords(<DATA>);
10 all_pod_files_spelling_ok( qw( bin lib ) );
11 __DATA__
12 Metabase
13 dir
14 errstr
15 mx
16 Adam
17 Foxson
18 afoxson
19 David
20 Golden
21 dagolden
22 Kirrily
23 Skud
24 Robert
25 skud
26 Ricardo
27 Signes
28 rjbs
29 Richard
30 Soderberg
31 rsod
32 Kurt
33 Starsinic
34 Authors
35 and
36 Contributors
37 Andreas
38 Koenig
39 andk
40 Ed
41 mohawk2
42 Tatsuhiko
43 Miyagawa
44 miyagawa
45 Vincent
46 Pit
47 perl
48 lib
49 Test
50 Reporter
51 Transport
52 File
53 Null
+0
-6
xt/release/distmeta.t less more
0 #!perl
1 # This file was automatically generated by Dist::Zilla::Plugin::MetaTests.
2
3 use Test::CPAN::Meta;
4
5 meta_yaml_ok();
+0
-8
xt/release/minimum-version.t less more
0 #!perl
1
2 use Test::More;
3
4 eval "use Test::MinimumVersion";
5 plan skip_all => "Test::MinimumVersion required for testing minimum versions"
6 if $@;
7 all_minimum_version_ok( qq{5.010} );
+0
-7
xt/release/pod-coverage.t less more
0 #!perl
1 # This file was automatically generated by Dist::Zilla::Plugin::PodCoverageTests.
2
3 use Test::Pod::Coverage 1.08;
4 use Pod::Coverage::TrustPod;
5
6 all_pod_coverage_ok({ coverage_class => 'Pod::Coverage::TrustPod' });
+0
-6
xt/release/pod-syntax.t less more
0 #!perl
1 # This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
2 use Test::More;
3 use Test::Pod 1.41;
4
5 all_pod_files_ok();
+0
-12
xt/release/portability.t less more
0 #!perl
1
2 use strict;
3 use warnings;
4
5 use Test::More;
6
7 eval 'use Test::Portability::Files';
8 plan skip_all => 'Test::Portability::Files required for testing portability'
9 if $@;
10 options(test_one_dot => 0);
11 run_tests();
+0
-22
xt/release/test-version.t less more
0 use strict;
1 use warnings;
2 use Test::More;
3
4 # generated by Dist::Zilla::Plugin::Test::Version 0.003001
5 use Test::Version;
6
7 my @imports = ( 'version_all_ok' );
8
9 my $params = {
10 is_strict => 0,
11 has_version => 1,
12 };
13
14 push @imports, $params
15 if version->parse( $Test::Version::VERSION ) >= version->parse('1.002');
16
17
18 Test::Version->import(@imports);
19
20 version_all_ok;
21 done_testing;