gnu: Add external-program.
[jackhill/guix/guix.git] / gnu / packages / perl-check.scm
CommitLineData
5ccde207
RW
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
3;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
4;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
5;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
47956fa0 6;;; Copyright © 2016 ng0 <ng0@n0.is>
548c120b 7;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
5ccde207
RW
8;;; Copyright © 2016, 2017 Alex Sassmannshausen <alex@pompo.co>
9;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
10;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
11;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
12;;; Copyright © 2017 Petter <petter@mykolab.ch>
88c2cb5e 13;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
ab125315 14;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
4715f92e 15;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
52b1551b 16;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
5ccde207
RW
17;;;
18;;; This file is part of GNU Guix.
19;;;
20;;; GNU Guix is free software; you can redistribute it and/or modify it
21;;; under the terms of the GNU General Public License as published by
22;;; the Free Software Foundation; either version 3 of the License, or (at
23;;; your option) any later version.
24;;;
25;;; GNU Guix is distributed in the hope that it will be useful, but
26;;; WITHOUT ANY WARRANTY; without even the implied warranty of
27;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28;;; GNU General Public License for more details.
29;;;
30;;; You should have received a copy of the GNU General Public License
31;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
32
33(define-module (gnu packages perl-check)
34 #:use-module (guix licenses)
35 #:use-module (gnu packages)
9a3fb60c 36 #:use-module (gnu packages valgrind)
5c360e48 37 #:use-module (gnu packages web)
5ccde207
RW
38 #:use-module (guix packages)
39 #:use-module (guix download)
40 #:use-module (guix build-system perl)
41 #:use-module (gnu packages perl))
42
f1a2cb94
TGR
43;;;
44;;; Please: Try to add new module packages in alphabetic order.
45;;;
46
47\f
c8749b02
TGR
48(define-public perl-mock-config
49 (package
50 (name "perl-mock-config")
51 (version "0.03")
52 (source
53 (origin
54 (method url-fetch)
55 (uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/Mock-Config-"
56 version ".tar.gz"))
57 (sha256
58 (base32 "06q0xkg5cwdwafzmb9rkaa305ddv7vli9gpm6n9jnkyaaxbk9f55"))))
59 (build-system perl-build-system)
60 (home-page "https://metacpan.org/release/Mock-Config")
61 (synopsis "Temporarily set Config or XSConfig values")
62 (description
63 "The @code{Mock::Config} Perl module allows temporarily setting and
64overriding @code{Config} values, even for the readonly @code{XSConfig}
65implementation as used in cperl. It does not store the mocked overrides
66lexically, just dynamically.")
67 (license artistic2.0)))
68
5ccde207
RW
69(define-public perl-test2-bundle-extended
70 (package
71 (name "perl-test2-bundle-extended")
72 (version "0.000072")
73 (source
74 (origin
75 (method url-fetch)
76 (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Suite-"
77 version ".tar.gz"))
78 (sha256
79 (base32
80 "0hgd6n29qjh1pwqvbglm2kb852yqshmixqqjhsr2kvvibdr58qpf"))))
81 (build-system perl-build-system)
82 (arguments
83 '(#:phases
84 (modify-phases %standard-phases
85 (add-after 'unpack 'set-env
4851af9e 86 (lambda _ (setenv "PERL_USE_UNSAFE_INC" "1") #t)))))
5ccde207
RW
87 (propagated-inputs
88 `(("perl-importer" ,perl-importer)
89 ("perl-term-table" ,perl-term-table)
90 ("perl-sub-info" ,perl-sub-info)))
9aba9b12 91 (home-page "https://metacpan.org/pod/Test2::Bundle::Extended")
5ccde207
RW
92 (synopsis "Full set of tools for Test2::Suite")
93 (description "This package provides a rich set of tools, plugins, bundles,
94etc built upon the Test2 testing library.")
95 (license perl-license)))
96
97(define-public perl-test2-plugin-nowarnings
98 (package
99 (name "perl-test2-plugin-nowarnings")
100 (version "0.06")
101 (source
102 (origin
103 (method url-fetch)
104 (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/Test2-Plugin-NoWarnings-"
105 version ".tar.gz"))
106 (sha256
107 (base32
108 "002qk6qsm0l6r2kaxywvc38w0yf0mlavgywq8li076pn6kcw3242"))))
109 (build-system perl-build-system)
110 (propagated-inputs
111 `(("perl-test2-bundle-extended" ,perl-test2-bundle-extended)))
9aba9b12 112 (home-page "https://metacpan.org/release/Test2-Plugin-NoWarnings")
5ccde207
RW
113 (synopsis "Fail if tests warn")
114 (description "Loading this plugin causes your tests to fail if there any
115warnings while they run. Each warning generates a new failing test and the
116warning content is outputted via diag.")
117 (license perl-license)))
118
119(define-public perl-test-base
120 (package
121 (name "perl-test-base")
79a9dee6 122 (version "0.89")
5ccde207
RW
123 (source
124 (origin
125 (method url-fetch)
126 (uri (string-append "mirror://cpan/authors/id/I/IN/INGY/"
127 "Test-Base-" version ".tar.gz"))
128 (sha256
129 (base32
79a9dee6 130 "056hibgg3i2b89mwr76vyxi6ayb3hqjqcwicvn3s5lximsma3517"))))
5ccde207
RW
131 (build-system perl-build-system)
132 (native-inputs
133 `(("perl-algorithm-diff" ,perl-algorithm-diff)
134 ("perl-text-diff" ,perl-text-diff)))
135 (propagated-inputs
136 `(("perl-spiffy" ,perl-spiffy)
137 ("perl-test-deep" ,perl-test-deep)))
9aba9b12 138 (home-page "https://metacpan.org/release/Test-Base")
5ccde207
RW
139 (synopsis "Data-driven testing framework for Perl")
140 (description "Test::Base gives a way to trivially write your own test
141framework base class. It concentrates on offering reusable data driven
142patterns, so that you can write tests with a minimum of code.")
143 (license perl-license)))
144
c1a4e783
CB
145(define-public perl-test-checkdeps
146 (package
147 (name "perl-test-checkdeps")
148 (version "0.010")
149 (source
150 (origin
151 (method url-fetch)
152 (uri (string-append
153 "mirror://cpan/authors/id/L/LE/LEONT/Test-CheckDeps-"
154 version
155 ".tar.gz"))
156 (sha256
157 (base32
158 "1vjinlixxdx6gfcw8y1dw2rla8bfhi8nmgcqr3nffc7kqskcrz36"))))
159 (build-system perl-build-system)
160 (propagated-inputs
161 `(("perl-cpan-meta-check" ,perl-cpan-meta-check)))
162 (home-page "https://metacpan.org/release/Test-CheckDeps")
163 (synopsis "Check for presence of dependencies")
164 (description
165 "This module provides a test that checks all dependencies have been
166installed properly.")
167 (license perl-license)))
168
5ccde207
RW
169(define-public perl-test-class
170 (package
171 (name "perl-test-class")
172 (version "0.50")
173 (source
174 (origin
175 (method url-fetch)
176 (uri (string-append
177 "https://cpan.metacpan.org/authors/id/E/ET/ETHER/Test-Class-"
178 version
179 ".tar.gz"))
180 (sha256
181 (base32
182 "0l0kk5jvxjkic2jkf1r7v41irb344aasnzr3f5ygjgxgiknm9489"))))
183 (build-system perl-build-system)
184 (native-inputs
185 `(("perl-test-exception" ,perl-test-exception)))
186 (inputs
187 `(("perl-module-runtime" ,perl-module-runtime)
188 ("perl-mro-compat" ,perl-mro-compat)
189 ("perl-try-tiny" ,perl-try-tiny)))
9aba9b12 190 (home-page "https://metacpan.org/release/Test-Class")
5ccde207
RW
191 (synopsis "Easily create test classes in an xUnit/JUnit style")
192 (description "@code{Test::Class} provides a simple way of creating classes
193and objects to test your code in an xUnit style.
194
195Built using @code{Test::Builder}, it was designed to work with other
196@code{Test::Builder} based modules (@code{Test::More},
197@code{Test::Differences}, @code{Test::Exception}, etc.).")
198 (license perl-license)))
199
200(define-public perl-test-class-most
201 (package
202 (name "perl-test-class-most")
203 (version "0.08")
204 (source
205 (origin
206 (method url-fetch)
207 (uri (string-append
208 "mirror://cpan/authors/id/O/OV/OVID/Test-Class-Most-"
209 version
210 ".tar.gz"))
211 (sha256
212 (base32
213 "1zvx9hil0mg0pnb8xfa4m0xgjpvh8s5gnbyprq3xwpdsdgcdwk33"))))
214 (build-system perl-build-system)
215 (native-inputs
216 `(("perl-module-build" ,perl-module-build)))
217 (inputs
218 `(("perl-test-class" ,perl-test-class)
219 ("perl-test-most" ,perl-test-most)
220 ("perl-module-runtime" ,perl-module-runtime)
221 ("perl-try-tiny" ,perl-try-tiny)
222 ("perl-mro-compat" ,perl-mro-compat)))
9aba9b12 223 (home-page "https://metacpan.org/release/Test-Class-Most")
5ccde207
RW
224 (synopsis "Test classes the easy way")
225 (description "@code{Test::Class::Most} provides some more convenience when
226using @code{Test::Class}.")
227 (license perl-license)))
228
229(define-public perl-test-cleannamespaces
230 (package
231 (name "perl-test-cleannamespaces")
88c2cb5e 232 (version "0.24")
5ccde207
RW
233 (source
234 (origin
235 (method url-fetch)
236 (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
237 "Test-CleanNamespaces-" version ".tar.gz"))
238 (sha256
88c2cb5e 239 (base32 "0yijspncqgmbkkxrh66xx1pliajar05yqhzq6m4nb6p8x1lmb39k"))))
5ccde207
RW
240 (build-system perl-build-system)
241 (native-inputs
242 `(("perl-file-pushd" ,perl-file-pushd)
243 ("perl-test-requires" ,perl-test-requires)
244 ("perl-test-deep" ,perl-test-deep)
245 ("perl-test-warnings" ,perl-test-warnings)
246 ("perl-test-tester" ,perl-test-tester)
247 ("perl-test-needs" ,perl-test-needs)))
248 (propagated-inputs
249 `(("perl-namespace-clean" ,perl-namespace-clean)
250 ("perl-package-stash" ,perl-package-stash)
251 ("perl-sub-identify" ,perl-sub-identify)
252 ("perl-sub-exporter" ,perl-sub-exporter)
253 ("perl-file-find-rule" ,perl-file-find-rule)
254 ("perl-file-find-rule-perl" ,perl-file-find-rule-perl)))
9aba9b12 255 (home-page "https://metacpan.org/release/Test-CleanNamespaces")
5ccde207
RW
256 (synopsis "Check for uncleaned imports")
257 (description "This module lets you check your module's namespaces for
258imported functions you might have forgotten to remove with
259namespace::autoclean or namespace::clean and are therefore available to be
260called as methods, which usually isn't want you want.")
261 (license perl-license)))
262
263(define-public perl-test-command
264 (package
265 (name "perl-test-command")
266 (version "0.11")
267 (source (origin
268 (method url-fetch)
269 (uri (string-append
270 "mirror://cpan/authors/id/D/DA/DANBOO/Test-Command-"
271 version ".tar.gz"))
272 (sha256
273 (base32
274 "0cwm3c4d49mdrbm6vgh78b3x8mk730l0zg8i7xb9z8bkx9pzr8r8"))))
275 (build-system perl-build-system)
276 (native-inputs
277 `(("perl-module-build" ,perl-module-build)))
278 (home-page "https://github.com/danboo/perl-test-command")
279 (synopsis "Test routines for external commands")
280 (description
281 "This module provides routines for testing the exit status, standard
282output and standard error of external commands.")
283 (license perl-license)))
284
285(define-public perl-test-cpan-meta
286 (package
287 (name "perl-test-cpan-meta")
288 (version "0.25")
289 (source
290 (origin
291 (method url-fetch)
292 (uri (string-append
293 "mirror://cpan/authors/id/B/BA/BARBIE/Test-CPAN-Meta-"
294 version
295 ".tar.gz"))
296 (sha256
297 (base32
298 "1dcdbbdwdyhpldkhjzc9rvzlmb5jbil6fwh2x07nsfdwysf4ynzm"))))
299 (build-system perl-build-system)
300 (native-inputs
301 `(("perl-test-cpan-meta-json" ,perl-test-cpan-meta-json)
302 ("perl-test-pod" ,perl-test-pod)
303 ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
304 (home-page
9aba9b12 305 "https://metacpan.org/release/Test-CPAN-Meta")
5ccde207
RW
306 (synopsis "Validate your CPAN META.yml files")
307 (description
308 "This module was written to ensure that a META.yml file meets the
309specification.")
310 (license artistic2.0)))
311
312(define-public perl-test-cpan-meta-json
313 (package
314 (name "perl-test-cpan-meta-json")
315 (version "0.16")
316 (source
317 (origin
318 (method url-fetch)
319 (uri (string-append
320 "mirror://cpan/authors/id/B/BA/BARBIE/Test-CPAN-Meta-JSON-"
321 version
322 ".tar.gz"))
323 (sha256
324 (base32
325 "1jg9ka50ixwq083wd4k12rhdjq87w0ihb34gd8jjn7gvvyd51b37"))))
326 (build-system perl-build-system)
327 (native-inputs
328 `(("perl-test-pod" ,perl-test-pod)
329 ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
330 (inputs
331 `(("perl-json" ,perl-json)))
332 (home-page
9aba9b12 333 "https://metacpan.org/release/Test-CPAN-Meta-JSON")
5ccde207
RW
334 (synopsis "Validate your CPAN META.json files")
335 (description
336 "This module was written to ensure that a META.json file meets the
337specification.")
338 (license artistic2.0)))
339
340(define-public perl-test-deep
341 (package
342 (name "perl-test-deep")
343 (version "1.120")
344 (source (origin
345 (method url-fetch)
346 (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
347 "Test-Deep-" version ".tar.gz"))
348 (sha256
349 (base32
350 "1kdy06r0yg7zwarqglc9163vbfb0sfc4s6ld4pw5q7i9f7mghzi0"))))
351 (build-system perl-build-system)
352 (inputs `(("perl-test-tester" ,perl-test-tester)
353 ("perl-test-nowarnings" ,perl-test-nowarnings)))
354 (synopsis "Flexible deep comparison for the Test::Builder framework")
355 (description
356 "Test::Deep compares two structures by going through each level, ensuring
357that the values match, that arrays and hashes have the same elements and that
358references are blessed into the correct class. It also handles circular data
359structures without getting caught in an infinite loop.")
9aba9b12 360 (home-page "https://metacpan.org/release/Test-Deep")
5ccde207
RW
361 (license gpl1+))) ; or "Artistic License"
362
363(define-public perl-test-differences
364 (package
365 (name "perl-test-differences")
2ad839f3 366 (version "0.67")
5ccde207
RW
367 (source
368 (origin
369 (method url-fetch)
370 (uri (string-append "mirror://cpan/authors/id/D/DC/DCANTRELL/"
371 "Test-Differences-" version ".tar.gz"))
372 (sha256
2ad839f3 373 (base32 "1nkqr3m4lbzw7fkkzah42aiqlhxapamk6kw7hj90cjwkifsbp3f8"))))
5ccde207
RW
374 (build-system perl-build-system)
375 (native-inputs
376 `(("perl-module-build" ,perl-module-build)))
377 (propagated-inputs
378 `(("perl-text-diff" ,perl-text-diff)
379 ("perl-capture-tiny" ,perl-capture-tiny)))
9aba9b12 380 (home-page "https://metacpan.org/release/Test-Differences")
5ccde207
RW
381 (synopsis "Test strings and data structures and show differences")
382 (description "This module exports three test functions and four diff-style
383functions.")
384 ;; See LICENSE section of Test/Differences.pm, which reads "... GNU public
385 ;; license, any version, ..."
386 (license gpl3+)))
387
9c5551c4
CB
388(define-public perl-test-dir
389 (package
390 (name "perl-test-dir")
391 (version "1.16")
392 (source
393 (origin
394 (method url-fetch)
395 (uri (string-append "mirror://cpan/authors/id/M/MT/MTHURN/"
396 "Test-Dir-" version ".tar.gz"))
397 (sha256
398 (base32
399 "1hpafgr93jjl6s8spskhdxhgich4cccmaiq99mla5diyj4iv6ckk"))))
400 (build-system perl-build-system)
401 (propagated-inputs
402 `(("perl-pod-coverage" ,perl-pod-coverage)
403 ("perl-test-pod" ,perl-test-pod)
404 ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
405 (home-page "https://metacpan.org/release/Test-Dir")
406 (synopsis "Utilities for testing directory attributes")
407 (description
408 "This modules provides a collection of test utilities for directory
409attributes.")
410 (license perl-license)))
411
5ccde207
RW
412(define-public perl-test-directory
413 (package
414 (name "perl-test-directory")
415 (version "0.041")
416 (source
417 (origin
418 (method url-fetch)
419 (uri (string-append "mirror://cpan/authors/id/S/SA/SANBEG/"
420 "Test-Directory-" version ".tar.gz"))
421 (sha256
422 (base32
423 "1ncql08cizhicbxwd753b4czns8nlcnlw0zfjcfrbdd41x4j6hqr"))))
424 (build-system perl-build-system)
425 (native-inputs `(("perl-test-exception" ,perl-test-exception)))
9aba9b12 426 (home-page "https://metacpan.org/release/Test-Directory")
5ccde207
RW
427 (synopsis "Perl extension for maintaining test directories")
428 (description "Testing code can involve making sure that files are created
429and deleted as expected. Doing this manually can be error prone, as it's easy
430to forget a file, or miss that some unexpected file was added. This module
431simplifies maintaining test directories by tracking their status as they are
432modified or tested with this API, making it simple to test both individual
433files, as well as to verify that there are no missing or unknown files.")
434 (license perl-license)))
435
52b1551b
KK
436(define-public perl-test-distmanifest
437 (package
438 (name "perl-test-distmanifest")
439 (version "1.014")
440 (source
441 (origin
442 (method url-fetch)
443 (uri (string-append
444 "mirror://cpan/authors/id/E/ET/ETHER/Test-DistManifest-"
445 version ".tar.gz"))
446 (sha256
447 (base32 "1ifpff5simjslabwy7ac6kdylv4c0b5b39fgpwf9ha16yh6w49ix"))))
448 (build-system perl-build-system)
449 (native-inputs
450 `(("perl-module-build" ,perl-module-build)))
451 (propagated-inputs
452 `(("perl-module-manifest" ,perl-module-manifest)))
453 (home-page "https://github.com/jawnsy/Test-DistManifest")
454 (synopsis "Author test that validates a package @file{MANIFEST}")
455 (description
456 "@code{Test::DistManifest} provides a simple method of testing that a
457@file{MANIFEST} file matches its distribution.")
458 (license perl-license)))
459
5ccde207
RW
460(define-public perl-test-eol
461 (package
462 (name "perl-test-eol")
463 (version "2.00")
464 (source
465 (origin
466 (method url-fetch)
467 (uri (string-append
468 "mirror://cpan/authors/id/E/ET/ETHER/Test-EOL-"
469 version
470 ".tar.gz"))
471 (sha256
472 (base32
473 "0l3bxpsw0x7j9nclizcp53mnf9wny25dmg2iglfhzgnk0xfpwzwf"))))
474 (build-system perl-build-system)
475 (home-page
9aba9b12 476 "https://metacpan.org/release/Test-EOL")
5ccde207
RW
477 (synopsis
478 "Check the correct line endings in your project")
479 (description
480 "@code{Test::EOL} lets you check for the presence of trailing whitespace
481and/or windows line endings in your perl code.")
482 (license perl-license)))
483
484(define-public perl-test-exception
485 (package
486 (name "perl-test-exception")
487 (version "0.43")
488 (source
489 (origin
490 (method url-fetch)
491 (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/"
492 "Test-Exception-" version ".tar.gz"))
493 (sha256
494 (base32
495 "0cxm7s4bg0xpxa6l6996a6iq3brr4j7p4hssnkc6dxv4fzq16sqm"))))
496 (build-system perl-build-system)
497 (native-inputs
498 `(("perl-module-build" ,perl-module-build)))
499 (propagated-inputs
500 `(("perl-sub-uplevel" ,perl-sub-uplevel)))
9aba9b12 501 (home-page "https://metacpan.org/release/Test-Exception")
5ccde207
RW
502 (synopsis "Test exception based code")
503 (description "This module provides a few convenience methods for testing
504exception based code. It is built with Test::Builder and plays happily with
505Test::More and friends.")
506 (license perl-license)))
507
12d330b0
OP
508(define-public perl-test-failwarnings
509 (package
510 (name "perl-test-failwarnings")
511 (version "0.008")
512 (source
513 (origin
514 (method url-fetch)
515 (uri (string-append
516 "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-FailWarnings-"
517 version ".tar.gz"))
518 (sha256
519 (base32
520 "0vx9chcp5x8m0chq574p9fnfckh5gl94j7904rh9v17n568fyd6s"))))
521 (build-system perl-build-system)
522 (native-inputs
523 `(("perl-capture-tiny" ,perl-capture-tiny)))
9aba9b12 524 (home-page "https://metacpan.org/release/Test-FailWarnings")
12d330b0
OP
525 (synopsis "Add test failures if warnings are caught")
526 (description
527 "Test::FailWarnings adds test failures if warnings are caught.")
528 (license asl2.0)))
529
5ccde207
RW
530(define-public perl-test-fatal
531 (package
532 (name "perl-test-fatal")
533 (version "0.014")
534 (source
535 (origin
536 (method url-fetch)
537 (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
538 "Test-Fatal-" version ".tar.gz"))
539 (sha256
540 (base32
541 "1c6bs68mss4q7cyapkv2c0jn66i21050p0faxf3s3417gdffzp5w"))))
542 (build-system perl-build-system)
543 (propagated-inputs `(("perl-try-tiny" ,perl-try-tiny)))
9aba9b12 544 (home-page "https://metacpan.org/release/Test-Fatal")
5ccde207
RW
545 (synopsis "Simple helpers for testing code with exceptions")
546 (description "Test::Fatal is an alternative to the popular
547Test::Exception. It does much less, but should allow greater flexibility in
548testing exception-throwing code with about the same amount of typing.")
549 (license perl-license)))
550
402cfebf
CB
551(define-public perl-test-file
552 (package
553 (name "perl-test-file")
554 (version "1.443")
555 (source
556 (origin
557 (method url-fetch)
558 (uri (string-append
559 "mirror://cpan/authors/id/B/BD/BDFOY/Test-File-"
560 version
561 ".tar.gz"))
562 (sha256
563 (base32
564 "1mdwb3x8d4l24wsymamsnq2c73a637v4q5kmb5xqqz31iymsdd31"))))
565 (build-system perl-build-system)
566 (native-inputs
567 `(("perl-test-utf8" ,perl-test-utf8)))
568 (home-page "https://metacpan.org/release/Test-File")
569 (synopsis "Utilities for testing file attributes")
570 (description
571 "@code{Test::File} provides a collection of test utilities for file
572attributes.")
573 (license perl-license)))
574
709a9e92
CB
575(define-public perl-test-file-contents
576 (package
577 (name "perl-test-file-contents")
578 (version "0.23")
579 (source
580 (origin
581 (method url-fetch)
582 (uri (string-append
583 "mirror://cpan/authors/id/D/DW/DWHEELER/Test-File-Contents-"
584 version
585 ".tar.gz"))
586 (sha256
587 (base32
588 "0g8zgfyw84181snw7ghahnl9r4lrmlfj7zwi76sv8d0bj7xssvyd"))))
589 (build-system perl-build-system)
590 (native-inputs
591 `(("perl-module-build" ,perl-module-build)))
592 (propagated-inputs
593 `(("perl-test-pod" ,perl-test-pod)
594 ("perl-test-pod-coverage" ,perl-test-pod-coverage)
595 ("perl-text-diff" ,perl-text-diff)))
596 (home-page "https://metacpan.org/release/Test-File-Contents")
597 (synopsis "Test routines for examining the contents of files")
598 (description
599 "@{Test::File::Contents} provides functions for testing the contents of
600files.")
601 (license perl-license)))
602
5ccde207
RW
603(define-public perl-test-file-sharedir-dist
604 (package
605 (name "perl-test-file-sharedir-dist")
606 (version "1.001002")
607 (source
608 (origin
609 (method url-fetch)
610 (uri (string-append "mirror://cpan/authors/id/K/KE/KENTNL/"
611 "Test-File-ShareDir-" version ".tar.gz"))
612 (sha256
613 (base32
614 "1bbs6cx69wcinq77gif4i4pmrj8a7lwb92sgvvxzrwmjnk5lfdmk"))))
615 (build-system perl-build-system)
616 (propagated-inputs
617 `(("perl-class-tiny" ,perl-class-tiny)
618 ("perl-file-copy-recursive" ,perl-file-copy-recursive)
619 ("perl-file-sharedir" ,perl-file-sharedir)
620 ("perl-path-tiny" ,perl-path-tiny)
621 ("perl-scope-guard" ,perl-scope-guard)
622 ("perl-test-fatal" ,perl-test-fatal)))
623 (home-page "https://github.com/kentnl/Test-File-ShareDir")
624 (synopsis "Dist oriented ShareDir tester")
625 (description "This module creates a Fake ShareDir for your modules
626for testing.")
627 (license perl-license)))
628
ab125315
OP
629(define-public perl-test-filename
630 (package
631 (name "perl-test-filename")
632 (version "0.03")
633 (source
634 (origin
635 (method url-fetch)
636 (uri (string-append
637 "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Filename-"
638 version ".tar.gz"))
639 (sha256
640 (base32
641 "1gpw4mjw68gnby8s4cifvbz6g2923xsc189jkw9d27i8qv20qiba"))))
642 (build-system perl-build-system)
643 (propagated-inputs
644 `(("perl-path-tiny" ,perl-path-tiny)))
9aba9b12 645 (home-page "https://metacpan.org/release/Test-Filename")
ab125315
OP
646 (synopsis "Portable filename comparison")
647 (description "Test::Filename provides functions to convert all path
648separators automatically.")
649 (license asl2.0)))
650
5ccde207
RW
651(define-public perl-test-files
652 (package
653 (name "perl-test-files")
654 (version "0.14")
655 (source
656 (origin
657 (method url-fetch)
658 (uri (string-append
659 "mirror://cpan/authors/id/P/PH/PHILCROW/Test-Files-"
660 version
661 ".tar.gz"))
662 (sha256
663 (base32
664 "1zn33yigznq7i1jr4yjr4lxvc6bn7znkbqdzj7slhc146pqapkln"))))
665 (build-system perl-build-system)
666 (propagated-inputs
667 `(("perl-algorithm-diff" ,perl-algorithm-diff)
668 ("perl-text-diff" ,perl-text-diff)))
9aba9b12 669 (home-page "https://metacpan.org/release/Test-Files")
5ccde207
RW
670 (synopsis "Ease software testing with files and directories")
671 (description "This library provides functions to enable testing of files
672and directories. For instance, the @code{file_ok} helper can test whether the
673contents of a file is equal to a particular string.")
674 (license perl-license)))
675
676(define-public perl-test-harness
677 (package
678 (name "perl-test-harness")
39199eb4 679 (version "3.42")
5ccde207
RW
680 (source
681 (origin
682 (method url-fetch)
683 (uri (string-append "mirror://cpan/authors/id/L/LE/LEONT/"
684 "Test-Harness-" version ".tar.gz"))
685 (sha256
39199eb4 686 (base32 "0lwfaamhpqia0ks4pcci83xbqz6jhng7acv95qk6wbd8zr70vn8g"))))
5ccde207
RW
687 (build-system perl-build-system)
688 (arguments
689 `(#:phases
690 (modify-phases %standard-phases
691 (add-before 'check 'patch-test
692 (lambda* (#:key inputs #:allow-other-keys)
693 ;; This test looks for "#!/usr/bin/perl" in some source.
694 ;; Patch what the test looks for.
695 (substitute* "t/source.t"
696 (("#!/usr/bin/perl")
697 (string-append "#!" (assoc-ref inputs "perl")
698 "/bin/perl")))
699 #t)))))
9aba9b12 700 (home-page "https://metacpan.org/release/Test-Harness")
5ccde207
RW
701 (synopsis "Run Perl standard test scripts with statistics")
702 (description "Simple test harness which allows tests to be run and results
703automatically aggregated and output to STDOUT.")
704 (license perl-license)))
705
706(define-public perl-test-leaktrace
707 (package
708 (name "perl-test-leaktrace")
709 (version "0.16")
710 (source
711 (origin
712 (method url-fetch)
713 (uri (string-append "mirror://cpan/authors/id/L/LE/LEEJO/"
714 "Test-LeakTrace-" version ".tar.gz"))
715 (sha256
716 (base32
717 "00z4hcjra5nk700f3fgpy8fs036d7ry7glpn8g3wh7jzj7nrw22z"))))
718 (build-system perl-build-system)
9aba9b12 719 (home-page "https://metacpan.org/release/Test-LeakTrace")
5ccde207
RW
720 (synopsis "Traces memory leaks in Perl")
721 (description "Test::LeakTrace provides several functions that trace memory
722leaks. This module scans arenas, the memory allocation system, so it can
723detect any leaked SVs in given blocks.")
724 (license perl-license)))
725
726(define-public perl-test-longstring
727 (package
728 (name "perl-test-longstring")
729 (version "0.17")
730 (source
731 (origin
732 (method url-fetch)
733 (uri (string-append "mirror://cpan/authors/id/R/RG/RGARCIA/"
734 "Test-LongString-" version ".tar.gz"))
735 (sha256
736 (base32
737 "0kwp7rfr1i2amz4ckigkv13ah7jr30q6l5k4wk0vxl84myg39i5b"))))
738 (build-system perl-build-system)
9aba9b12 739 (home-page "https://metacpan.org/release/Test-LongString")
5ccde207
RW
740 (synopsis "Tests strings for equality, with more helpful failures")
741 (description "This module provides some drop-in replacements for the
742string comparison functions of Test::More, but which are more suitable when
743you test against long strings.")
744 (license perl-license)))
745
746(define-public perl-test-manifest
747 (package
748 (name "perl-test-manifest")
e1abfc76 749 (version "2.021")
5ccde207
RW
750 (source (origin
751 (method url-fetch)
752 (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/"
753 "Test-Manifest-" version ".tar.gz"))
754 (sha256
755 (base32
e1abfc76 756 "1n9jscnni24sbp4v5gjlcy3iknfwvmy0731xwvk1c3jq3kbslym4"))))
5ccde207
RW
757 (build-system perl-build-system)
758 (native-inputs
759 `(("perl-test-pod" ,perl-test-pod)
760 ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
9aba9b12 761 (home-page "https://metacpan.org/release/Test-Manifest")
5ccde207
RW
762 (synopsis "Interact with a t/test_manifest file")
763 (description "@code{Test::Manifest} overrides the default test file order. Instead of
764running all of the t/*.t files in ASCII-betical order, it looks in the t/test_manifest
765file to find out which tests you want to run and the order in which you want to run them.
766It constructs the right value for the build system to do the right thing.")
767 (license perl-license)))
768
769(define-public perl-test-memory-cycle
770 (package
771 (name "perl-test-memory-cycle")
772 (version "1.06")
773 (source
774 (origin
775 (method url-fetch)
776 (uri (string-append
777 "mirror://cpan/authors/id/P/PE/PETDANCE/Test-Memory-Cycle-"
778 version
779 ".tar.gz"))
780 (sha256
781 (base32
782 "00ijmgx1r3cxrcs1qa9rb2s4gbm3nsawd90drda89kb4r7yxslwx"))))
783 (build-system perl-build-system)
784 (inputs
785 `(("perl-padwalker" ,perl-padwalker)))
786 (propagated-inputs
787 `(("perl-devel-cycle" ,perl-devel-cycle)))
788 (home-page
9aba9b12 789 "https://metacpan.org/release/Test-Memory-Cycle")
5ccde207
RW
790 (synopsis
791 "Verifies code hasn't left circular references")
792 (description
793 "@code{Test::Memory::Cycle} is built on top of @code{Devel::Cycle} to
794give you an easy way to check for these circular references.
795
796@example
797use Test::Memory::Cycle;
798
799my $object = new MyObject;
800# Do stuff with the object.
801memory_cycle_ok( $object );
802@end example")
803 (license artistic2.0)))
804
d948fe7c
TGR
805(define-public perl-test-mockmodule
806 (package
807 (name "perl-test-mockmodule")
d195f623 808 (version "0.171.0")
d948fe7c
TGR
809 (source
810 (origin
811 (method url-fetch)
812 (uri (string-append "mirror://cpan/authors/id/G/GF/GFRANKS/"
31d9f552 813 "Test-MockModule-v" version ".tar.gz"))
d948fe7c 814 (sha256
d195f623 815 (base32 "1arqgb1773zym5dqlwm6kz48bfrccjhb5bjfsif0vkalwq2gvm7b"))))
d948fe7c
TGR
816 (build-system perl-build-system)
817 (native-inputs
818 `(("perl-module-build" ,perl-module-build)
819 ;; For tests.
820 ("perl-test-pod" ,perl-test-pod)
31d9f552
EF
821 ("perl-test-pod-coverage" ,perl-test-pod-coverage)
822 ("perl-test-warnings" ,perl-test-warnings)))
d948fe7c
TGR
823 (propagated-inputs
824 `(("perl-super" ,perl-super)))
9aba9b12 825 (home-page "https://metacpan.org/release/Test-MockModule")
d948fe7c
TGR
826 (synopsis "Override subroutines in a module for unit testing")
827 (description
828 "@code{Test::MockModule} lets you temporarily redefine subroutines in other
829packages for the purposes of unit testing. A @code{Test::MockModule} object is
830set up to mock subroutines for a given module. The mocked object remembers the
831original subroutine so it can be easily restored. This happens automatically
832when all @code{MockModule} objects for the given module go out of scope, or when
833you @code{unmock()} the subroutine.")
834 (license gpl3)))
835
5ccde207
RW
836(define-public perl-test-mockobject
837 (package
838 (name "perl-test-mockobject")
5d7e1c80 839 (version "1.20191002")
5ccde207
RW
840 (source
841 (origin
842 (method url-fetch)
843 (uri (string-append "mirror://cpan/authors/id/C/CH/CHROMATIC/"
844 "Test-MockObject-" version ".tar.gz"))
845 (sha256
5d7e1c80 846 (base32 "160r36j727hw6syazh6sfq862f95dp1zcga0nil7cjlry77lqsn7"))))
5ccde207
RW
847 (build-system perl-build-system)
848 (native-inputs
5c360e48
TGR
849 `(("perl-cgi" ,perl-cgi)
850 ("perl-test-exception" ,perl-test-exception)
5ccde207
RW
851 ("perl-test-warn" ,perl-test-warn)))
852 (propagated-inputs
853 `(("perl-test-exception" ,perl-test-exception)
854 ("perl-test-warn" ,perl-test-warn)
855 ("perl-universal-can" ,perl-universal-can)
856 ("perl-universal-isa" ,perl-universal-isa)))
9aba9b12 857 (home-page "https://metacpan.org/release/Test-MockObject")
5ccde207
RW
858 (synopsis "Emulate troublesome interfaces in Perl")
859 (description "Test::MockObject allows you to create objects that conform
860to particular interfaces with very little code. You don't have to reimplement
861the behavior, just the input and the output.")
862 (license perl-license)))
863
864(define-public perl-test-mocktime
865 (package
866 (name "perl-test-mocktime")
17ed9595 867 (version "0.17")
5ccde207
RW
868 (source
869 (origin
870 (method url-fetch)
871 (uri (string-append "mirror://cpan/authors/id/D/DD/DDICK/"
872 "Test-MockTime-" version ".tar.gz"))
873 (sha256
17ed9595 874 (base32 "1y820qsq7yf7r6smy5c6f0mpf2cis2q24vwmpim1svv0n8cf2qrk"))))
ab998d5e
TGR
875 (propagated-inputs
876 `(("perl-time-piece" ,perl-time-piece)))
5ccde207 877 (build-system perl-build-system)
9aba9b12 878 (home-page "https://metacpan.org/release/Test-MockTime")
5ccde207
RW
879 (synopsis "Replaces actual time with simulated time")
880 (description "This module was created to enable test suites to test code
881at specific points in time. Specifically it overrides localtime, gmtime and
882time at compile time and then relies on the user supplying a mock time via
883set_relative_time, set_absolute_time or set_fixed_time to alter future calls
884to gmtime,time or localtime.")
885 (license perl-license)))
886
26eb9260
EF
887(define-public perl-test-more-utf8
888 (package
889 (name "perl-test-more-utf8")
890 (version "0.05")
891 (source
892 (origin
893 (method url-fetch)
894 (uri (string-append
895 "mirror://cpan/authors/id/M/MO/MONS/Test-More-UTF8-"
896 version ".tar.gz"))
897 (sha256
898 (base32
899 "016fs77lmw8xxrcnapvp6wq4hjwgsdfi3l9ylpxgxkcpdarw9wdr"))))
900 (build-system perl-build-system)
901 (home-page "https://metacpan.org/release/Test-More-UTF8")
902 (synopsis "Enhance Test::More for UTF8-based projects")
903 (description "@code{Test::More::UTF8} is a simple extension for the widely
36a4366d
EF
904used @code{Test::More} module. By default, it will do a @code{binmode
905@code{:utf8}} on all of @code{Test::Builder}'s output handles thus enabling the
906easy use flagged strings without warnings like \"Wide character in print
907@dots{}\"")
26eb9260
EF
908 (license perl-license)))
909
5ccde207
RW
910(define-public perl-test-most
911 (package
912 (name "perl-test-most")
697a958a 913 (version "0.35")
5ccde207
RW
914 (source
915 (origin
916 (method url-fetch)
917 (uri (string-append "mirror://cpan/authors/id/O/OV/OVID/"
918 "Test-Most-" version ".tar.gz"))
919 (sha256
920 (base32
697a958a 921 "0zv5dyzq55r28plffibcr7wd00abap0h2zh4s4p8snaiszsad5wq"))))
5ccde207
RW
922 (build-system perl-build-system)
923 (propagated-inputs
924 `(("perl-test-differences" ,perl-test-differences)
925 ("perl-test-warn" ,perl-test-warn)
926 ("perl-exception-class" ,perl-exception-class)
927 ("perl-test-deep" ,perl-test-deep)
928 ("perl-test-exception" ,perl-test-exception)))
9aba9b12 929 (home-page "https://metacpan.org/release/Test-Most")
5ccde207
RW
930 (synopsis "Most commonly needed test functions and features")
931 (description "This module provides the most commonly used testing
932functions, along with automatically turning on strict and warning and gives a
933bit more fine-grained control over test suites.")
934 (license perl-license)))
935
936(define-public perl-test-needs
937 (package
938 (name "perl-test-needs")
939 (version "0.002005")
940 (source
941 (origin
942 (method url-fetch)
943 (uri (string-append
944 "mirror://cpan/authors/id/H/HA/HAARG/Test-Needs-"
945 version
946 ".tar.gz"))
947 (sha256
948 (base32
949 "16gkgpmr9hvkz382iaqd3500269lk2d44fqaw3dsrvc66nc36kss"))))
950 (build-system perl-build-system)
951 (home-page
9aba9b12 952 "https://metacpan.org/release/Test-Needs")
5ccde207
RW
953 (synopsis
954 "Skip tests when modules not available")
955 (description "@code{Test::Needs} allows you to skip test scripts if
956modules are not available. The requested modules will be loaded, and
957optionally have their versions checked. If the module is missing, the test
958script will be skipped. Modules that are found but fail to compile will exit
959with an error rather than skip.
960
961If used in a subtest, the remainder of the subtest will be skipped.")
962 (license perl-license)))
963
964(define-public perl-test-notabs
965 (package
966 (name "perl-test-notabs")
a7999e2d 967 (version "2.02")
5ccde207
RW
968 (source
969 (origin
970 (method url-fetch)
971 (uri (string-append
972 "mirror://cpan/authors/id/E/ET/ETHER/Test-NoTabs-"
973 version
974 ".tar.gz"))
975 (sha256
976 (base32
a7999e2d 977 "0c306p9qdpa2ycii3c50hml23mwy6bjxpry126g1dw11hyiwcxgv"))))
5ccde207
RW
978 (build-system perl-build-system)
979 (home-page
9aba9b12 980 "https://metacpan.org/release/Test-NoTabs")
5ccde207
RW
981 (synopsis
982 "Check the presence of tabs in your project")
983 (description
984 "@code{Test::NoTabs} lets you check the presence of tabs in your perl
985code.")
986 (license perl-license)))
987
988(define-public perl-test-nowarnings
989 (package
990 (name "perl-test-nowarnings")
991 (version "1.04")
992 (source (origin
993 (method url-fetch)
994 (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/"
995 "Test-NoWarnings-" version ".tar.gz"))
996 (sha256
997 (base32
998 "0v385ch0hzz9naqwdw2az3zdqi15gka76pmiwlgsy6diiijmg2k3"))))
999 (build-system perl-build-system)
1000 (inputs `(("perl-test-tester" ,perl-test-tester)))
1001 (synopsis "Ensure no warnings are produced while testing")
1002 (description
1003 "This modules causes any warnings during testing to be captured and
1004stored. It automatically adds an extra test that will run when your script
1005ends to check that there were no warnings. If there were any warnings, the
1006test will fail and output diagnostics of where, when and what the warning was,
1007including a stack trace of what was going on when it occurred.")
9aba9b12 1008 (home-page "https://metacpan.org/release/Test-NoWarnings")
5ccde207
RW
1009 (license lgpl2.1)))
1010
1011(define-public perl-test-number-delta
1012 (package
1013 (name "perl-test-number-delta")
1014 (version "1.06")
1015 (source (origin
1016 (method url-fetch)
1017 (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/"
1018 "Test-Number-Delta-" version ".tar.gz"))
1019 (sha256
1020 (base32
1021 "0jfhzhpzkc23mkrlbnv085ykpfncmy99hvppbzjnrpvgks8k0m2k"))))
1022 (build-system perl-build-system)
9aba9b12 1023 (home-page "https://metacpan.org/release/Test-Number-Delta")
5ccde207
RW
1024 (synopsis
1025 "Compare the difference between numbers against a given tolerance")
1026 (description
1027 "At some point or another, most programmers find they need to compare
1028floating-point numbers for equality. The typical idiom is to test if the
1029absolute value of the difference of the numbers is within a desired tolerance,
1030usually called epsilon. This module provides such a function for use with
1031@code{Test::More}.")
1032 (license asl2.0)))
1033
1034(define-public perl-test-output
1035 (package
1036 (name "perl-test-output")
8cb72202 1037 (version "1.031")
5ccde207
RW
1038 (source (origin
1039 (method url-fetch)
1040 (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/"
1041 "Test-Output-" version ".tar.gz"))
1042 (sha256
1043 (base32
8cb72202 1044 "193y1xjvgc1p9pdgdwps2127knvpz9wc1xh6gmr74y3ihmqz7f7q"))))
5ccde207
RW
1045 (build-system perl-build-system)
1046 (propagated-inputs
1047 `(("perl-capture-tiny" ,perl-capture-tiny)
1048 ("perl-test-tester" ,perl-test-tester)
1049 ("perl-sub-exporter" ,perl-sub-exporter)))
1050 (synopsis "Utilities to test STDOUT and STDERR messages")
1051 (description
1052 "Test::Output provides a simple interface for testing output sent to
1053STDOUT or STDERR. A number of different utilities are included to try and be
1054as flexible as possible to the tester.")
9aba9b12 1055 (home-page "https://metacpan.org/release/Test-Output")
5ccde207
RW
1056 (license perl-license)))
1057
1058(define-public perl-test-pod
1059 (package
1060 (name "perl-test-pod")
cb6fb537 1061 (version "1.52")
5ccde207
RW
1062 (source
1063 (origin
1064 (method url-fetch)
9210fdf8 1065 (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
5ccde207
RW
1066 "Test-Pod-" version ".tar.gz"))
1067 (sha256
1068 (base32
cb6fb537 1069 "1z75x1pxwp8ajwq9iazlg2c3wd7rdlim08yclpdg32qnc36dpa30"))))
5ccde207
RW
1070 (build-system perl-build-system)
1071 (native-inputs `(("perl-module-build" ,perl-module-build)))
9aba9b12 1072 (home-page "https://metacpan.org/release/Test-Pod")
5ccde207
RW
1073 (synopsis "Check for POD errors in files")
1074 (description "Check POD files for errors or warnings in a test file, using
1075Pod::Simple to do the heavy lifting.")
1076 (license perl-license)))
1077
1078(define-public perl-test-pod-coverage
1079 (package
1080 (name "perl-test-pod-coverage")
1081 (version "1.10")
1082 (source
1083 (origin
1084 (method url-fetch)
1085 (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/"
1086 "Test-Pod-Coverage-" version ".tar.gz"))
1087 (sha256
1088 (base32
1089 "1m203mhgfilz7iqc8mxaw4lw02fz391mni3n25sfx7nryylwrja8"))))
1090 (build-system perl-build-system)
1091 (propagated-inputs
1092 `(("perl-pod-coverage" ,perl-pod-coverage)))
9aba9b12 1093 (home-page "https://metacpan.org/release/Test-Pod-Coverage")
5ccde207
RW
1094 (synopsis "Check for pod coverage")
1095 (description "This module adds a test to your Perl distribution which
1096checks for pod coverage of all appropriate files.")
1097 (license artistic2.0)))
1098
1099(define-public perl-test-requires
1100 (package
1101 (name "perl-test-requires")
1d1f1b3a 1102 (version "0.10")
5ccde207
RW
1103 (source
1104 (origin
1105 (method url-fetch)
1106 (uri (string-append "mirror://cpan/authors/id/T/TO/TOKUHIROM/"
1107 "Test-Requires-" version ".tar.gz"))
1108 (sha256
1109 (base32
1d1f1b3a 1110 "1d9f481lj12cw1ciil46xq9nq16p6a90nm7yrsalpf8asn8s6s17"))))
5ccde207 1111 (build-system perl-build-system)
9aba9b12 1112 (home-page "https://metacpan.org/release/Test-Requires")
5ccde207
RW
1113 (synopsis "Checks to see if the module can be loaded")
1114 (description "Test::Requires checks to see if the module can be loaded.
1115If this fails, then rather than failing tests this skips all tests.")
1116 (license perl-license)))
1117
fa79a908
TGR
1118(define-public perl-test-requiresinternet
1119 (package
1120 (name "perl-test-requiresinternet")
1121 (version "0.05")
1122 (source
1123 (origin
1124 (method url-fetch)
1125 (uri (string-append
1126 "mirror://cpan/authors/id/M/MA/MALLEN/Test-RequiresInternet-"
1127 version
1128 ".tar.gz"))
1129 (sha256
1130 (base32
1131 "0gl33vpj9bb78pzyijp884b66sbw6jkh1ci0xki8rmf03hmb79xv"))))
1132 (build-system perl-build-system)
9aba9b12 1133 (home-page "https://metacpan.org/release/Test-RequiresInternet")
fa79a908
TGR
1134 (synopsis "Easily test network connectivity when running tests")
1135 (description
1136 "This Perl module is intended to easily test network connectivity to
1137non-local Internet resources before functional tests begin. If the sockets
1138cannot connect to the specified hosts and ports, the exception is caught and
1139reported, and the tests skipped.")
1140 (license perl-license)))
1141
24eab3c0
OP
1142(define-public perl-test-roo
1143 (package
1144 (name "perl-test-roo")
1145 (version "1.004")
1146 (source
1147 (origin
1148 (method url-fetch)
1149 (uri (string-append
1150 "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Roo-"
1151 version ".tar.gz"))
1152 (sha256
1153 (base32
1154 "1mnym49j1lj7gzylma5b6nr4vp75rmgz2v71904v01xmxhy9l4i1"))))
1155 (build-system perl-build-system)
1156 (native-inputs
1157 `(("perl-capture-tiny" ,perl-capture-tiny)))
1158 (propagated-inputs
1159 `(("perl-indirect" ,perl-indirect)
1160 ("perl-moo" ,perl-moo)
1161 ("perl-moox-types-mooselike" ,perl-moox-types-mooselike)
1162 ("perl-multidimensional" ,perl-multidimensional)
1163 ("perl-strictures" ,perl-strictures)
1164 ("perl-sub-install" ,perl-sub-install)))
9aba9b12 1165 (home-page "https://metacpan.org/release/Test-Roo")
24eab3c0
OP
1166 (synopsis "Composable, reusable tests with roles and Moo")
1167 (description "Test::Roo provides composable, reusable tests with roles.")
1168 (license asl2.0)))
1169
9a3fb60c
PN
1170(define-public perl-test-runvalgrind
1171 (package
1172 (name "perl-test-runvalgrind")
dedb10b2 1173 (version "0.2.1")
9a3fb60c
PN
1174 (source
1175 (origin
1176 (method url-fetch)
1177 (uri (string-append
1178 "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-RunValgrind-"
1179 version
1180 ".tar.gz"))
1181 (sha256
dedb10b2 1182 (base32 "175hlycrhgwrp7j4rwx5bk4fd6775242wjdqv107rvgsrszsi915"))))
9a3fb60c
PN
1183 (build-system perl-build-system)
1184 (native-inputs
1185 `(("perl-module-build" ,perl-module-build)))
1186 (propagated-inputs
1187 `(("perl-path-tiny" ,perl-path-tiny)
1188 ("perl-test-trap" ,perl-test-trap)
1189 ("valgrind" ,valgrind)))
9aba9b12 1190 (home-page "https://metacpan.org/release/Test-RunValgrind")
9a3fb60c
PN
1191 (synopsis "Tests that an external program is valgrind-clean")
1192 (description "Test::RunValgind checks weather Valgrind does not detect
1193errors (such as memory leaks) in an arbitrary binary executable.")
1194 (license x11)))
1195
5ccde207
RW
1196(define-public perl-test-script
1197 (package
1198 (name "perl-test-script")
1199 (version "1.20")
1200 (source (origin
1201 (method url-fetch)
1202 (uri (string-append "mirror://cpan/authors/id/P/PL/PLICEASE/"
1203 "Test-Script-" version ".tar.gz"))
1204 (sha256
1205 (base32
1206 "1msavbi6przkxq3npm90nv925v58iym9jrk677wn46x19whwzwzm"))))
1207 (build-system perl-build-system)
1208 (propagated-inputs
1209 `(("perl-capture-tiny" ,perl-capture-tiny)
1210 ("perl-probe-perl" ,perl-probe-perl)))
1211 (synopsis "Basic cross-platform tests for scripts")
1212 (description
1213 "The intent of the Test::Script module is to provide a series of basic
1214tests for 80% of the testing you will need to do for scripts in the script (or
1215bin as is also commonly used) paths of your Perl distribution.")
9aba9b12 1216 (home-page "https://metacpan.org/release/Test-Script")
5ccde207
RW
1217 (license perl-license)))
1218
1219(define-public perl-test-sharedfork
1220 (package
1221 (name "perl-test-sharedfork")
a48d560f 1222 (version "0.35")
5ccde207
RW
1223 (source
1224 (origin
1225 (method url-fetch)
1226 (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/"
1227 "Test-SharedFork-" version ".tar.gz"))
1228 (sha256
a48d560f 1229 (base32 "17y52j20k1bs9dgf4n6rhh9dn4cfxxbnfn2cfs7pb00fc5jyhci9"))))
5ccde207
RW
1230 (build-system perl-build-system)
1231 (native-inputs
1232 `(("perl-test-requires" ,perl-test-requires)))
9aba9b12 1233 (home-page "https://metacpan.org/release/Test-SharedFork")
5ccde207
RW
1234 (synopsis "Fork test in Perl")
1235 (description "Test::SharedFork is a utility module for Test::Builder. It
1236makes fork(2) safe to use in test cases.")
1237 (license perl-license)))
1238
1239(define-public perl-test-simple
1240 (package
1241 (name "perl-test-simple")
9b0dae22 1242 (version "1.302169")
5ccde207
RW
1243 (source (origin
1244 (method url-fetch)
1245 (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/"
1246 "Test-Simple-" version ".tar.gz"))
1247 (sha256
1248 (base32
9b0dae22 1249 "08y7b817045w9bc1k9y01l5shl162q9fdc2g5qf7ny0gdxvh85s1"))))
5ccde207
RW
1250 (build-system perl-build-system)
1251 (synopsis "Basic utilities for writing tests")
1252 (description
1253 "Test::Simple contains basic utilities for writing tests.")
9aba9b12 1254 (home-page "https://metacpan.org/release/Test-Simple")
5ccde207
RW
1255 (license perl-license)))
1256
1257(define-public perl-test-taint
1258 (package
1259 (name "perl-test-taint")
1260 (version "1.06")
1261 (source
1262 (origin
1263 (method url-fetch)
1264 (uri (string-append "mirror://cpan/authors/id/P/PE/PETDANCE/Test-Taint-"
1265 version ".tar.gz"))
1266 (sha256
1267 (base32
1268 "01rip5d7gdr1c7lq6yczzkqfd0500nfa977ryigylj6jj75526vj"))))
1269 (build-system perl-build-system)
9aba9b12 1270 (home-page "https://metacpan.org/release/Test-Taint")
5ccde207
RW
1271 (synopsis "Checks for taintedness of variables")
1272 (description "Tainted data is data that comes from an unsafe source, such
1273as the command line, or, in the case of web apps, any @code{GET} or
1274@code{POST} transactions. Read the @code{perlsec} man page for details on why
1275tainted data is bad, and how to untaint the data.
1276
1277When you're writing unit tests for code that deals with tainted data, you'll
1278want to have a way to provide tainted data for your routines to handle, and
1279easy ways to check and report on the taintedness of your data, in standard
1280@code{Test::More} style.")
1281 (license perl-license)))
1282
1283(define-public perl-test-tester
1284 (package
1285 (name "perl-test-tester")
1286 (version "0.109")
1287 (source (origin
1288 (method url-fetch)
1289 (uri (string-append "mirror://cpan/authors/id/F/FD/FDALY/"
1290 "Test-Tester-" version ".tar.gz"))
1291 (sha256
1292 (base32
1293 "0m9n28z09kq455r5nydj1bnr85lvmbfpcbjdkjfbpmfb5xgciiyk"))))
1294 (build-system perl-build-system)
1295 (synopsis "Simplify running Test::Builder tests")
1296 (description
1297 "Test::Tester allows testing of test modules based on Test::Builder with
1298a minimum of effort.")
9aba9b12 1299 (home-page "https://metacpan.org/release/FDALY/Test-Tester-0.109")
5ccde207 1300 (license perl-license)))
0943b0b5
KK
1301
1302(define-public perl-test-perltidy
1303 (package
1304 (name "perl-test-perltidy")
1305 (version "20130104")
1306 (source
1307 (origin
1308 (method url-fetch)
1309 (uri (string-append
1310 "mirror://cpan/authors/id/L/LA/LARRYL/Test-PerlTidy-"
1311 version ".tar.gz"))
1312 (sha256
1313 (base32
1314 "1j5rsb4km9rzcbd1ljavj8vm42bmilji40v2jj2k87l1ykrxj59z"))))
1315 (build-system perl-build-system)
1316 (propagated-inputs
1317 `(("perl-file-finder" ,perl-file-finder)
1318 ("perl-file-slurp" ,perl-file-slurp)
1319 ("perltidy" ,perltidy)
1320 ("perl-text-diff" ,perl-text-diff)))
9aba9b12 1321 (home-page "https://metacpan.org/release/Test-PerlTidy")
0943b0b5
KK
1322 (synopsis "Check that all your Perl files are tidy")
1323 (description
1324 "Using @code{Test::PerlTidy}, any file ending in .pl, .pm, .t or .PL will
1325cause a test fail unless it is exactly as @code{perltidy} would like it to be.")
1326 (license perl-license)))
5ccde207
RW
1327
1328(define-public perl-test-trap
1329 (package
1330 (name "perl-test-trap")
e750f1fc 1331 (version "0.3.4")
5ccde207
RW
1332 (source
1333 (origin
1334 (method url-fetch)
1335 (uri (string-append "mirror://cpan/authors/id/E/EB/EBHANSSEN/"
1336 "Test-Trap-v" version ".tar.gz"))
1337 (sha256
e750f1fc 1338 (base32 "1qjs2080kcc66s4d7499br5lw2qmhr9gxky4xsl6vjdn6dpna10b"))))
5ccde207
RW
1339 (build-system perl-build-system)
1340 (native-inputs
1341 `(("perl-module-build" ,perl-module-build)
1342 ("perl-test-simple" ,perl-test-simple)))
1343 (propagated-inputs
1344 `(("perl-test-tester" ,perl-test-tester)
1345 ("perl-data-dump" ,perl-data-dump)))
9aba9b12 1346 (home-page "https://metacpan.org/release/Test-Trap")
5ccde207
RW
1347 (synopsis "Trap exit codes, exceptions, output, and so on")
1348 (description "This module is primarily (but not exclusively) for use in
1349test scripts: A block eval configurable and extensible but by default trapping
1350STDOUT, STDERR, warnings, exceptions, would-be exit codes, and return values
1351from boxed blocks of test code.")
1352 (license perl-license)))
1353
1354(define-public perl-test-utf8
1355 (package
1356 (name "perl-test-utf8")
1357 (version "1.01")
1358 (source
1359 (origin
1360 (method url-fetch)
1361 (uri (string-append "mirror://cpan/authors/id/M/MA/MARKF/"
1362 "Test-utf8-" version ".tar.gz"))
1363 (sha256
1364 (base32
1365 "0yhvf735v334qqvp9zg7i66qyk6r4cbk5s2psv93d3fdd4bindzg"))))
1366 (build-system perl-build-system)
1367 (native-inputs
1368 `(("perl-module-install" ,perl-module-install)))
9aba9b12 1369 (home-page "https://metacpan.org/release/Test-utf8")
5ccde207
RW
1370 (synopsis "UTF-8 testing in Perl")
1371 (description "This module is a collection of tests useful for dealing with
1372UTF-8 strings in Perl. This module has two types of tests: The validity tests
1373check if a string is valid and not corrupt, whereas the characteristics tests
1374will check that string has a given set of characteristics.")
1375 (license perl-license)))
1376
3840c515
CB
1377(define-public perl-test-version
1378 (package
1379 (name "perl-test-version")
1380 (version "2.09")
1381 (source
1382 (origin
1383 (method url-fetch)
1384 (uri (string-append
1385 "mirror://cpan/authors/id/P/PL/PLICEASE/Test-Version-"
1386 version
1387 ".tar.gz"))
1388 (sha256
1389 (base32
1390 "1q1qradaf7r2rb3jhpv01wl8z3bxymkfqrl9gwdhxwx5jwldvqcw"))))
1391 (build-system perl-build-system)
1392 (native-inputs
1393 `(("perl-test-exception" ,perl-test-exception)))
1394 (propagated-inputs
1395 `(("perl-file-find-rule-perl" ,perl-file-find-rule-perl)))
1396 (home-page "https://metacpan.org/release/Test-Version")
1397 (synopsis "Check versions in modules")
1398 (description
1399 "@code{Test::Version} checks to ensure that all modules have a version
1400defined, and that the version is valid.")
1401 (license artistic2.0)))
1402
5ccde207
RW
1403(define-public perl-test-warn
1404 (package
1405 (name "perl-test-warn")
1406 (version "0.30")
1407 (source
1408 (origin
1409 (method url-fetch)
1410 (uri (string-append "mirror://cpan/authors/id/C/CH/CHORNY/"
1411 "Test-Warn-" version ".tar.gz"))
1412 (sha256
1413 (base32
1414 "0haf2ii7br5z0psmkvlvmx2z2q9qz1c70gx0969r378qjidmb5w1"))))
1415 (build-system perl-build-system)
1416 (propagated-inputs
1417 `(("perl-sub-uplevel" ,perl-sub-uplevel)))
9aba9b12 1418 (home-page "https://metacpan.org/release/Test-Warn")
5ccde207
RW
1419 (synopsis "Perl extension to test methods for warnings")
1420 (description "This module provides a few convenience methods for testing
1421warning based code.")
1422 (license perl-license)))
1423
1424(define-public perl-test-warnings
1425 (package
1426 (name "perl-test-warnings")
1427 (version "0.026")
1428 (source
1429 (origin
1430 (method url-fetch)
1431 (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
1432 "Test-Warnings-" version ".tar.gz"))
1433 (sha256
1434 (base32
1435 "024srkwjckp15dxkni9lb1hc8bg4xwc52zz0iich8rv1nnqnhaxf"))))
1436 (build-system perl-build-system)
9aba9b12 1437 (home-page "https://metacpan.org/release/Test-Warnings")
5ccde207
RW
1438 (synopsis "Test for warnings and the lack of them")
1439 (description "This module is intended to be used as a drop-in replacement
1440for Test::NoWarnings. It also adds an extra test, but runs this test before
1441done_testing calculates the test count, rather than after. It does this by
1442hooking into done_testing as well as via an END block. You can declare a
1443plan, or not, and things will still Just Work.")
1444 (license perl-license)))
1445
1446(define-public perl-test-without-module
1447 (package
1448 (name "perl-test-without-module")
a1b16662 1449 (version "0.20")
5ccde207
RW
1450 (source
1451 (origin
1452 (method url-fetch)
1453 (uri (string-append "mirror://cpan/authors/id/C/CO/CORION/"
1454 "Test-Without-Module-" version ".tar.gz"))
1455 (sha256
1456 (base32
a1b16662 1457 "0955ib9cz1naz7a2v6lx78kj29q7ihmdn51im6wd1im669yfp6lf"))))
5ccde207 1458 (build-system perl-build-system)
9aba9b12 1459 (home-page "https://metacpan.org/release/Test-Without-Module")
5ccde207
RW
1460 (synopsis "Test fallback behaviour in absence of modules")
1461 (description "This module allows you to deliberately hide modules from a
1462program even though they are installed. This is mostly useful for testing
1463modules that have a fallback when a certain dependency module is not
1464installed.")
1465 (license perl-license)))
1466
1467(define-public perl-test-writevariants
1468 (package
1469 (name "perl-test-writevariants")
6dc75e18 1470 (version "0.014")
5ccde207
RW
1471 (source
1472 (origin
1473 (method url-fetch)
1474 (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/"
1475 "Test-WriteVariants-" version ".tar.gz"))
1476 (sha256
6dc75e18 1477 (base32 "11v4j3607bydxsqy2ylx9w6qr3qxcalfx3mdc4q4ccqmxsyw4jb3"))))
5ccde207
RW
1478 (build-system perl-build-system)
1479 (native-inputs
1480 `(("perl-test-most" ,perl-test-most)
1481 ("perl-test-directory" ,perl-test-directory)))
1482 (propagated-inputs
1483 `(("perl-data-tumbler" ,perl-data-tumbler)
1484 ("perl-file-homedir" ,perl-file-homedir)
6dc75e18
TGR
1485 ("perl-module-pluggable" ,perl-module-pluggable)
1486 ("perl-module-runtime" ,perl-module-runtime)))
9aba9b12 1487 (home-page "https://metacpan.org/release/Test-WriteVariants")
5ccde207
RW
1488 (synopsis "Dynamic generation of tests")
1489 (description "The Test::WriteVariants module provides for the dynamic
1490generation of tests in nested combinations of contexts.")
677aca12 1491 (license perl-license))) ; see LICENSE
5ccde207
RW
1492
1493(define-public perl-test-yaml
1494 (package
1495 (name "perl-test-yaml")
677aca12 1496 (version "1.07")
5ccde207
RW
1497 (source
1498 (origin
1499 (method url-fetch)
677aca12 1500 (uri (string-append "mirror://cpan/authors/id/T/TI/TINITA/"
5ccde207
RW
1501 "Test-YAML-" version ".tar.gz"))
1502 (sha256
677aca12 1503 (base32 "0pwrrnwi1qaiy3c5522vy0kzncxc9g02r4b056wqqaa69w1hsc0z"))))
5ccde207
RW
1504 (build-system perl-build-system)
1505 (propagated-inputs
1506 `(("perl-test-base" ,perl-test-base)))
9aba9b12 1507 (home-page "https://metacpan.org/release/Test-YAML")
5ccde207
RW
1508 (synopsis "Testing module for YAML implementations")
1509 (description "Test::YAML is a subclass of Test::Base with YAML specific
1510support.")
1511 (license perl-license)))
1512
1513(define-public perl-test-trailingspace
1514 (package
1515 (name "perl-test-trailingspace")
b11407d9 1516 (version "0.0301")
5ccde207
RW
1517 (source
1518 (origin
1519 (method url-fetch)
1520 (uri (string-append
1521 "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-TrailingSpace-"
1522 version
1523 ".tar.gz"))
1524 (sha256
1525 (base32
b11407d9 1526 "0w2rvsksv7cmf80v632xm2rwxrv933kzz97839yhwynvg9s7b252"))))
5ccde207
RW
1527 (build-system perl-build-system)
1528 (native-inputs
1529 `(("perl-module-build" ,perl-module-build)
1530 ("perl-file-find-object" ,perl-file-find-object)
1531 ("perl-class-xsaccessor" ,perl-class-xsaccessor)))
1532 (inputs
1533 `(("perl-file-find-object-rule" ,perl-file-find-object-rule)
1534 ("perl-text-glob" ,perl-text-glob)
1535 ("perl-number-compare" ,perl-number-compare)))
1536 (home-page
9aba9b12 1537 "https://metacpan.org/release/Test-TrailingSpace")
5ccde207
RW
1538 (synopsis
1539 "Test for trailing space in Perl source files")
1540 (description "Test::TrailingSpace tests for trailing spaces
1541in Perl source files.")
1542 (license x11)))