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>
6 ;;; Copyright © 2016 Nils Gillmann <ng0@n0.is>
7 ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
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>
13 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
14 ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
15 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
16 ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
18 ;;; This file is part of GNU Guix.
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.
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.
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/>.
33 (define-module (gnu packages perl-check)
34 #:use-module (guix licenses)
35 #:use-module (gnu packages)
36 #:use-module (gnu packages valgrind)
37 #:use-module (guix packages)
38 #:use-module (guix download)
39 #:use-module (guix build-system perl)
40 #:use-module (gnu packages perl))
43 ;;; Please: Try to add new module packages in alphabetic order.
47 (define-public perl-mock-config
49 (name "perl-mock-config")
54 (uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/Mock-Config-"
57 (base32 "06q0xkg5cwdwafzmb9rkaa305ddv7vli9gpm6n9jnkyaaxbk9f55"))))
58 (build-system perl-build-system)
59 (home-page "https://metacpan.org/release/Mock-Config")
60 (synopsis "Temporarily set Config or XSConfig values")
62 "The @code{Mock::Config} Perl module allows temporarily setting and
63 overriding @code{Config} values, even for the readonly @code{XSConfig}
64 implementation as used in cperl. It does not store the mocked overrides
65 lexically, just dynamically.")
66 (license artistic2.0)))
68 (define-public perl-test2-bundle-extended
70 (name "perl-test2-bundle-extended")
75 (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Suite-"
79 "0hgd6n29qjh1pwqvbglm2kb852yqshmixqqjhsr2kvvibdr58qpf"))))
80 (build-system perl-build-system)
83 (modify-phases %standard-phases
84 (add-after 'unpack 'set-env
85 (lambda _ (setenv "PERL_USE_UNSAFE_INC" "1"))))))
87 `(("perl-importer" ,perl-importer)
88 ("perl-term-table" ,perl-term-table)
89 ("perl-sub-info" ,perl-sub-info)))
90 (home-page "https://metacpan.org/pod/Test2::Bundle::Extended")
91 (synopsis "Full set of tools for Test2::Suite")
92 (description "This package provides a rich set of tools, plugins, bundles,
93 etc built upon the Test2 testing library.")
94 (license perl-license)))
96 (define-public perl-test2-plugin-nowarnings
98 (name "perl-test2-plugin-nowarnings")
103 (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/Test2-Plugin-NoWarnings-"
107 "002qk6qsm0l6r2kaxywvc38w0yf0mlavgywq8li076pn6kcw3242"))))
108 (build-system perl-build-system)
110 `(("perl-test2-bundle-extended" ,perl-test2-bundle-extended)))
111 (home-page "https://metacpan.org/release/Test2-Plugin-NoWarnings")
112 (synopsis "Fail if tests warn")
113 (description "Loading this plugin causes your tests to fail if there any
114 warnings while they run. Each warning generates a new failing test and the
115 warning content is outputted via diag.")
116 (license perl-license)))
118 (define-public perl-test-base
120 (name "perl-test-base")
125 (uri (string-append "mirror://cpan/authors/id/I/IN/INGY/"
126 "Test-Base-" version ".tar.gz"))
129 "056hibgg3i2b89mwr76vyxi6ayb3hqjqcwicvn3s5lximsma3517"))))
130 (build-system perl-build-system)
132 `(("perl-algorithm-diff" ,perl-algorithm-diff)
133 ("perl-text-diff" ,perl-text-diff)))
135 `(("perl-spiffy" ,perl-spiffy)
136 ("perl-test-deep" ,perl-test-deep)))
137 (home-page "https://metacpan.org/release/Test-Base")
138 (synopsis "Data-driven testing framework for Perl")
139 (description "Test::Base gives a way to trivially write your own test
140 framework base class. It concentrates on offering reusable data driven
141 patterns, so that you can write tests with a minimum of code.")
142 (license perl-license)))
144 (define-public perl-test-class
146 (name "perl-test-class")
152 "https://cpan.metacpan.org/authors/id/E/ET/ETHER/Test-Class-"
157 "0l0kk5jvxjkic2jkf1r7v41irb344aasnzr3f5ygjgxgiknm9489"))))
158 (build-system perl-build-system)
160 `(("perl-test-exception" ,perl-test-exception)))
162 `(("perl-module-runtime" ,perl-module-runtime)
163 ("perl-mro-compat" ,perl-mro-compat)
164 ("perl-try-tiny" ,perl-try-tiny)))
165 (home-page "https://metacpan.org/release/Test-Class")
166 (synopsis "Easily create test classes in an xUnit/JUnit style")
167 (description "@code{Test::Class} provides a simple way of creating classes
168 and objects to test your code in an xUnit style.
170 Built using @code{Test::Builder}, it was designed to work with other
171 @code{Test::Builder} based modules (@code{Test::More},
172 @code{Test::Differences}, @code{Test::Exception}, etc.).")
173 (license perl-license)))
175 (define-public perl-test-class-most
177 (name "perl-test-class-most")
183 "mirror://cpan/authors/id/O/OV/OVID/Test-Class-Most-"
188 "1zvx9hil0mg0pnb8xfa4m0xgjpvh8s5gnbyprq3xwpdsdgcdwk33"))))
189 (build-system perl-build-system)
191 `(("perl-module-build" ,perl-module-build)))
193 `(("perl-test-class" ,perl-test-class)
194 ("perl-test-most" ,perl-test-most)
195 ("perl-module-runtime" ,perl-module-runtime)
196 ("perl-try-tiny" ,perl-try-tiny)
197 ("perl-mro-compat" ,perl-mro-compat)))
198 (home-page "https://metacpan.org/release/Test-Class-Most")
199 (synopsis "Test classes the easy way")
200 (description "@code{Test::Class::Most} provides some more convenience when
201 using @code{Test::Class}.")
202 (license perl-license)))
204 (define-public perl-test-cleannamespaces
206 (name "perl-test-cleannamespaces")
211 (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
212 "Test-CleanNamespaces-" version ".tar.gz"))
215 "1jma95agqqy7iwdcl6jbg1waqz7mjqng4l046lpknhfxjhcj4al6"))))
216 (build-system perl-build-system)
218 `(("perl-file-pushd" ,perl-file-pushd)
219 ("perl-test-requires" ,perl-test-requires)
220 ("perl-test-deep" ,perl-test-deep)
221 ("perl-test-warnings" ,perl-test-warnings)
222 ("perl-test-tester" ,perl-test-tester)
223 ("perl-test-needs" ,perl-test-needs)))
225 `(("perl-namespace-clean" ,perl-namespace-clean)
226 ("perl-package-stash" ,perl-package-stash)
227 ("perl-sub-identify" ,perl-sub-identify)
228 ("perl-sub-exporter" ,perl-sub-exporter)
229 ("perl-file-find-rule" ,perl-file-find-rule)
230 ("perl-file-find-rule-perl" ,perl-file-find-rule-perl)))
231 (home-page "https://metacpan.org/release/Test-CleanNamespaces")
232 (synopsis "Check for uncleaned imports")
233 (description "This module lets you check your module's namespaces for
234 imported functions you might have forgotten to remove with
235 namespace::autoclean or namespace::clean and are therefore available to be
236 called as methods, which usually isn't want you want.")
237 (license perl-license)))
239 (define-public perl-test-command
241 (name "perl-test-command")
246 "mirror://cpan/authors/id/D/DA/DANBOO/Test-Command-"
250 "0cwm3c4d49mdrbm6vgh78b3x8mk730l0zg8i7xb9z8bkx9pzr8r8"))))
251 (build-system perl-build-system)
253 `(("perl-module-build" ,perl-module-build)))
254 (home-page "https://github.com/danboo/perl-test-command")
255 (synopsis "Test routines for external commands")
257 "This module provides routines for testing the exit status, standard
258 output and standard error of external commands.")
259 (license perl-license)))
261 (define-public perl-test-cpan-meta
263 (name "perl-test-cpan-meta")
269 "mirror://cpan/authors/id/B/BA/BARBIE/Test-CPAN-Meta-"
274 "1dcdbbdwdyhpldkhjzc9rvzlmb5jbil6fwh2x07nsfdwysf4ynzm"))))
275 (build-system perl-build-system)
277 `(("perl-test-cpan-meta-json" ,perl-test-cpan-meta-json)
278 ("perl-test-pod" ,perl-test-pod)
279 ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
281 "https://metacpan.org/release/Test-CPAN-Meta")
282 (synopsis "Validate your CPAN META.yml files")
284 "This module was written to ensure that a META.yml file meets the
286 (license artistic2.0)))
288 (define-public perl-test-cpan-meta-json
290 (name "perl-test-cpan-meta-json")
296 "mirror://cpan/authors/id/B/BA/BARBIE/Test-CPAN-Meta-JSON-"
301 "1jg9ka50ixwq083wd4k12rhdjq87w0ihb34gd8jjn7gvvyd51b37"))))
302 (build-system perl-build-system)
304 `(("perl-test-pod" ,perl-test-pod)
305 ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
307 `(("perl-json" ,perl-json)))
309 "https://metacpan.org/release/Test-CPAN-Meta-JSON")
310 (synopsis "Validate your CPAN META.json files")
312 "This module was written to ensure that a META.json file meets the
314 (license artistic2.0)))
316 (define-public perl-test-deep
318 (name "perl-test-deep")
322 (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
323 "Test-Deep-" version ".tar.gz"))
326 "1kdy06r0yg7zwarqglc9163vbfb0sfc4s6ld4pw5q7i9f7mghzi0"))))
327 (build-system perl-build-system)
328 (inputs `(("perl-test-tester" ,perl-test-tester)
329 ("perl-test-nowarnings" ,perl-test-nowarnings)))
330 (synopsis "Flexible deep comparison for the Test::Builder framework")
332 "Test::Deep compares two structures by going through each level, ensuring
333 that the values match, that arrays and hashes have the same elements and that
334 references are blessed into the correct class. It also handles circular data
335 structures without getting caught in an infinite loop.")
336 (home-page "https://metacpan.org/release/Test-Deep")
337 (license gpl1+))) ; or "Artistic License"
339 (define-public perl-test-differences
341 (name "perl-test-differences")
346 (uri (string-append "mirror://cpan/authors/id/D/DC/DCANTRELL/"
347 "Test-Differences-" version ".tar.gz"))
350 "0xmj5vgklq4yqvi7l63ky1k6g7fhww68llpmw9rhlaihqbcrsicz"))))
351 (build-system perl-build-system)
353 `(("perl-module-build" ,perl-module-build)))
355 `(("perl-text-diff" ,perl-text-diff)
356 ("perl-capture-tiny" ,perl-capture-tiny)))
357 (home-page "https://metacpan.org/release/Test-Differences")
358 (synopsis "Test strings and data structures and show differences")
359 (description "This module exports three test functions and four diff-style
361 ;; See LICENSE section of Test/Differences.pm, which reads "... GNU public
362 ;; license, any version, ..."
365 (define-public perl-test-directory
367 (name "perl-test-directory")
372 (uri (string-append "mirror://cpan/authors/id/S/SA/SANBEG/"
373 "Test-Directory-" version ".tar.gz"))
376 "1ncql08cizhicbxwd753b4czns8nlcnlw0zfjcfrbdd41x4j6hqr"))))
377 (build-system perl-build-system)
378 (native-inputs `(("perl-test-exception" ,perl-test-exception)))
379 (home-page "https://metacpan.org/release/Test-Directory")
380 (synopsis "Perl extension for maintaining test directories")
381 (description "Testing code can involve making sure that files are created
382 and deleted as expected. Doing this manually can be error prone, as it's easy
383 to forget a file, or miss that some unexpected file was added. This module
384 simplifies maintaining test directories by tracking their status as they are
385 modified or tested with this API, making it simple to test both individual
386 files, as well as to verify that there are no missing or unknown files.")
387 (license perl-license)))
389 (define-public perl-test-distmanifest
391 (name "perl-test-distmanifest")
397 "mirror://cpan/authors/id/E/ET/ETHER/Test-DistManifest-"
400 (base32 "1ifpff5simjslabwy7ac6kdylv4c0b5b39fgpwf9ha16yh6w49ix"))))
401 (build-system perl-build-system)
403 `(("perl-module-build" ,perl-module-build)))
405 `(("perl-module-manifest" ,perl-module-manifest)))
406 (home-page "https://github.com/jawnsy/Test-DistManifest")
407 (synopsis "Author test that validates a package @file{MANIFEST}")
409 "@code{Test::DistManifest} provides a simple method of testing that a
410 @file{MANIFEST} file matches its distribution.")
411 (license perl-license)))
413 (define-public perl-test-eol
415 (name "perl-test-eol")
421 "mirror://cpan/authors/id/E/ET/ETHER/Test-EOL-"
426 "0l3bxpsw0x7j9nclizcp53mnf9wny25dmg2iglfhzgnk0xfpwzwf"))))
427 (build-system perl-build-system)
429 "https://metacpan.org/release/Test-EOL")
431 "Check the correct line endings in your project")
433 "@code{Test::EOL} lets you check for the presence of trailing whitespace
434 and/or windows line endings in your perl code.")
435 (license perl-license)))
437 (define-public perl-test-exception
439 (name "perl-test-exception")
444 (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/"
445 "Test-Exception-" version ".tar.gz"))
448 "0cxm7s4bg0xpxa6l6996a6iq3brr4j7p4hssnkc6dxv4fzq16sqm"))))
449 (build-system perl-build-system)
451 `(("perl-module-build" ,perl-module-build)))
453 `(("perl-sub-uplevel" ,perl-sub-uplevel)))
454 (home-page "https://metacpan.org/release/Test-Exception")
455 (synopsis "Test exception based code")
456 (description "This module provides a few convenience methods for testing
457 exception based code. It is built with Test::Builder and plays happily with
458 Test::More and friends.")
459 (license perl-license)))
461 (define-public perl-test-failwarnings
463 (name "perl-test-failwarnings")
469 "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-FailWarnings-"
473 "0vx9chcp5x8m0chq574p9fnfckh5gl94j7904rh9v17n568fyd6s"))))
474 (build-system perl-build-system)
476 `(("perl-capture-tiny" ,perl-capture-tiny)))
477 (home-page "https://metacpan.org/release/Test-FailWarnings")
478 (synopsis "Add test failures if warnings are caught")
480 "Test::FailWarnings adds test failures if warnings are caught.")
483 (define-public perl-test-fatal
485 (name "perl-test-fatal")
490 (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
491 "Test-Fatal-" version ".tar.gz"))
494 "1c6bs68mss4q7cyapkv2c0jn66i21050p0faxf3s3417gdffzp5w"))))
495 (build-system perl-build-system)
496 (propagated-inputs `(("perl-try-tiny" ,perl-try-tiny)))
497 (home-page "https://metacpan.org/release/Test-Fatal")
498 (synopsis "Simple helpers for testing code with exceptions")
499 (description "Test::Fatal is an alternative to the popular
500 Test::Exception. It does much less, but should allow greater flexibility in
501 testing exception-throwing code with about the same amount of typing.")
502 (license perl-license)))
504 (define-public perl-test-file-sharedir-dist
506 (name "perl-test-file-sharedir-dist")
511 (uri (string-append "mirror://cpan/authors/id/K/KE/KENTNL/"
512 "Test-File-ShareDir-" version ".tar.gz"))
515 "1bbs6cx69wcinq77gif4i4pmrj8a7lwb92sgvvxzrwmjnk5lfdmk"))))
516 (build-system perl-build-system)
518 `(("perl-class-tiny" ,perl-class-tiny)
519 ("perl-file-copy-recursive" ,perl-file-copy-recursive)
520 ("perl-file-sharedir" ,perl-file-sharedir)
521 ("perl-path-tiny" ,perl-path-tiny)
522 ("perl-scope-guard" ,perl-scope-guard)
523 ("perl-test-fatal" ,perl-test-fatal)))
524 (home-page "https://github.com/kentnl/Test-File-ShareDir")
525 (synopsis "Dist oriented ShareDir tester")
526 (description "This module creates a Fake ShareDir for your modules
528 (license perl-license)))
530 (define-public perl-test-filename
532 (name "perl-test-filename")
538 "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Filename-"
542 "1gpw4mjw68gnby8s4cifvbz6g2923xsc189jkw9d27i8qv20qiba"))))
543 (build-system perl-build-system)
545 `(("perl-path-tiny" ,perl-path-tiny)))
546 (home-page "https://metacpan.org/release/Test-Filename")
547 (synopsis "Portable filename comparison")
548 (description "Test::Filename provides functions to convert all path
549 separators automatically.")
552 (define-public perl-test-files
554 (name "perl-test-files")
560 "mirror://cpan/authors/id/P/PH/PHILCROW/Test-Files-"
565 "1zn33yigznq7i1jr4yjr4lxvc6bn7znkbqdzj7slhc146pqapkln"))))
566 (build-system perl-build-system)
568 `(("perl-algorithm-diff" ,perl-algorithm-diff)
569 ("perl-text-diff" ,perl-text-diff)))
570 (home-page "https://metacpan.org/release/Test-Files")
571 (synopsis "Ease software testing with files and directories")
572 (description "This library provides functions to enable testing of files
573 and directories. For instance, the @code{file_ok} helper can test whether the
574 contents of a file is equal to a particular string.")
575 (license perl-license)))
577 (define-public perl-test-harness
579 (name "perl-test-harness")
584 (uri (string-append "mirror://cpan/authors/id/L/LE/LEONT/"
585 "Test-Harness-" version ".tar.gz"))
588 "0cgdgzywvscbvb9i0dmd2ls5jwqlnf2z6hx4f4lljpvdjd59v3m8"))))
589 (build-system perl-build-system)
592 (modify-phases %standard-phases
593 (add-before 'check 'patch-test
594 (lambda* (#:key inputs #:allow-other-keys)
595 ;; This test looks for "#!/usr/bin/perl" in some source.
596 ;; Patch what the test looks for.
597 (substitute* "t/source.t"
599 (string-append "#!" (assoc-ref inputs "perl")
602 (home-page "https://metacpan.org/release/Test-Harness")
603 (synopsis "Run Perl standard test scripts with statistics")
604 (description "Simple test harness which allows tests to be run and results
605 automatically aggregated and output to STDOUT.")
606 (license perl-license)))
608 (define-public perl-test-leaktrace
610 (name "perl-test-leaktrace")
615 (uri (string-append "mirror://cpan/authors/id/L/LE/LEEJO/"
616 "Test-LeakTrace-" version ".tar.gz"))
619 "00z4hcjra5nk700f3fgpy8fs036d7ry7glpn8g3wh7jzj7nrw22z"))))
620 (build-system perl-build-system)
621 (home-page "https://metacpan.org/release/Test-LeakTrace")
622 (synopsis "Traces memory leaks in Perl")
623 (description "Test::LeakTrace provides several functions that trace memory
624 leaks. This module scans arenas, the memory allocation system, so it can
625 detect any leaked SVs in given blocks.")
626 (license perl-license)))
628 (define-public perl-test-longstring
630 (name "perl-test-longstring")
635 (uri (string-append "mirror://cpan/authors/id/R/RG/RGARCIA/"
636 "Test-LongString-" version ".tar.gz"))
639 "0kwp7rfr1i2amz4ckigkv13ah7jr30q6l5k4wk0vxl84myg39i5b"))))
640 (build-system perl-build-system)
641 (home-page "https://metacpan.org/release/Test-LongString")
642 (synopsis "Tests strings for equality, with more helpful failures")
643 (description "This module provides some drop-in replacements for the
644 string comparison functions of Test::More, but which are more suitable when
645 you test against long strings.")
646 (license perl-license)))
648 (define-public perl-test-manifest
650 (name "perl-test-manifest")
654 (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/"
655 "Test-Manifest-" version ".tar.gz"))
658 "15ik52l9macrrfizf4y6wj71d4lx7w590h2dfajnkmbxmz786iq6"))))
659 (build-system perl-build-system)
661 `(("perl-test-pod" ,perl-test-pod)
662 ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
663 (home-page "https://metacpan.org/release/Test-Manifest")
664 (synopsis "Interact with a t/test_manifest file")
665 (description "@code{Test::Manifest} overrides the default test file order. Instead of
666 running all of the t/*.t files in ASCII-betical order, it looks in the t/test_manifest
667 file to find out which tests you want to run and the order in which you want to run them.
668 It constructs the right value for the build system to do the right thing.")
669 (license perl-license)))
671 (define-public perl-test-memory-cycle
673 (name "perl-test-memory-cycle")
679 "mirror://cpan/authors/id/P/PE/PETDANCE/Test-Memory-Cycle-"
684 "00ijmgx1r3cxrcs1qa9rb2s4gbm3nsawd90drda89kb4r7yxslwx"))))
685 (build-system perl-build-system)
687 `(("perl-padwalker" ,perl-padwalker)))
689 `(("perl-devel-cycle" ,perl-devel-cycle)))
691 "https://metacpan.org/release/Test-Memory-Cycle")
693 "Verifies code hasn't left circular references")
695 "@code{Test::Memory::Cycle} is built on top of @code{Devel::Cycle} to
696 give you an easy way to check for these circular references.
699 use Test::Memory::Cycle;
701 my $object = new MyObject;
702 # Do stuff with the object.
703 memory_cycle_ok( $object );
705 (license artistic2.0)))
707 (define-public perl-test-mockmodule
709 (name "perl-test-mockmodule")
714 (uri (string-append "mirror://cpan/authors/id/G/GF/GFRANKS/"
715 "Test-MockModule-" version ".tar.gz"))
717 (base32 "0lwh6fvnc16r6d74vvh5h4b5a1spcslpjb3mcqbv23k01lm78wvl"))))
718 (build-system perl-build-system)
720 `(("perl-module-build" ,perl-module-build)
722 ("perl-test-pod" ,perl-test-pod)
723 ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
725 `(("perl-super" ,perl-super)))
726 (home-page "https://metacpan.org/release/Test-MockModule")
727 (synopsis "Override subroutines in a module for unit testing")
729 "@code{Test::MockModule} lets you temporarily redefine subroutines in other
730 packages for the purposes of unit testing. A @code{Test::MockModule} object is
731 set up to mock subroutines for a given module. The mocked object remembers the
732 original subroutine so it can be easily restored. This happens automatically
733 when all @code{MockModule} objects for the given module go out of scope, or when
734 you @code{unmock()} the subroutine.")
737 (define-public perl-test-mockobject
739 (name "perl-test-mockobject")
740 (version "1.20150527")
744 (uri (string-append "mirror://cpan/authors/id/C/CH/CHROMATIC/"
745 "Test-MockObject-" version ".tar.gz"))
748 "160xvhbpwqjaff4fgckvldknldzcbn1z3jvyzybs7cqlj1x3bwdd"))))
749 (build-system perl-build-system)
751 `(("perl-test-exception" ,perl-test-exception)
752 ("perl-test-warn" ,perl-test-warn)))
754 `(("perl-test-exception" ,perl-test-exception)
755 ("perl-test-warn" ,perl-test-warn)
756 ("perl-universal-can" ,perl-universal-can)
757 ("perl-universal-isa" ,perl-universal-isa)))
758 (arguments `(#:tests? #f)) ;TODO: tests require perl-cgi
759 (home-page "https://metacpan.org/release/Test-MockObject")
760 (synopsis "Emulate troublesome interfaces in Perl")
761 (description "Test::MockObject allows you to create objects that conform
762 to particular interfaces with very little code. You don't have to reimplement
763 the behavior, just the input and the output.")
764 (license perl-license)))
766 (define-public perl-test-mocktime
768 (name "perl-test-mocktime")
773 (uri (string-append "mirror://cpan/authors/id/D/DD/DDICK/"
774 "Test-MockTime-" version ".tar.gz"))
777 "0j6cxmkj52i5xkwg8dg6klm0dh386fzc5v80n5nbdalpvq0h48c8"))))
779 `(("perl-time-piece" ,perl-time-piece)))
780 (build-system perl-build-system)
781 (home-page "https://metacpan.org/release/Test-MockTime")
782 (synopsis "Replaces actual time with simulated time")
783 (description "This module was created to enable test suites to test code
784 at specific points in time. Specifically it overrides localtime, gmtime and
785 time at compile time and then relies on the user supplying a mock time via
786 set_relative_time, set_absolute_time or set_fixed_time to alter future calls
787 to gmtime,time or localtime.")
788 (license perl-license)))
790 (define-public perl-test-most
792 (name "perl-test-most")
797 (uri (string-append "mirror://cpan/authors/id/O/OV/OVID/"
798 "Test-Most-" version ".tar.gz"))
801 "0zv5dyzq55r28plffibcr7wd00abap0h2zh4s4p8snaiszsad5wq"))))
802 (build-system perl-build-system)
804 `(("perl-test-differences" ,perl-test-differences)
805 ("perl-test-warn" ,perl-test-warn)
806 ("perl-exception-class" ,perl-exception-class)
807 ("perl-test-deep" ,perl-test-deep)
808 ("perl-test-exception" ,perl-test-exception)))
809 (home-page "https://metacpan.org/release/Test-Most")
810 (synopsis "Most commonly needed test functions and features")
811 (description "This module provides the most commonly used testing
812 functions, along with automatically turning on strict and warning and gives a
813 bit more fine-grained control over test suites.")
814 (license perl-license)))
816 (define-public perl-test-needs
818 (name "perl-test-needs")
824 "mirror://cpan/authors/id/H/HA/HAARG/Test-Needs-"
829 "16gkgpmr9hvkz382iaqd3500269lk2d44fqaw3dsrvc66nc36kss"))))
830 (build-system perl-build-system)
832 "https://metacpan.org/release/Test-Needs")
834 "Skip tests when modules not available")
835 (description "@code{Test::Needs} allows you to skip test scripts if
836 modules are not available. The requested modules will be loaded, and
837 optionally have their versions checked. If the module is missing, the test
838 script will be skipped. Modules that are found but fail to compile will exit
839 with an error rather than skip.
841 If used in a subtest, the remainder of the subtest will be skipped.")
842 (license perl-license)))
844 (define-public perl-test-notabs
846 (name "perl-test-notabs")
852 "mirror://cpan/authors/id/E/ET/ETHER/Test-NoTabs-"
857 "0c306p9qdpa2ycii3c50hml23mwy6bjxpry126g1dw11hyiwcxgv"))))
858 (build-system perl-build-system)
860 "https://metacpan.org/release/Test-NoTabs")
862 "Check the presence of tabs in your project")
864 "@code{Test::NoTabs} lets you check the presence of tabs in your perl
866 (license perl-license)))
868 (define-public perl-test-nowarnings
870 (name "perl-test-nowarnings")
874 (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/"
875 "Test-NoWarnings-" version ".tar.gz"))
878 "0v385ch0hzz9naqwdw2az3zdqi15gka76pmiwlgsy6diiijmg2k3"))))
879 (build-system perl-build-system)
880 (inputs `(("perl-test-tester" ,perl-test-tester)))
881 (synopsis "Ensure no warnings are produced while testing")
883 "This modules causes any warnings during testing to be captured and
884 stored. It automatically adds an extra test that will run when your script
885 ends to check that there were no warnings. If there were any warnings, the
886 test will fail and output diagnostics of where, when and what the warning was,
887 including a stack trace of what was going on when it occurred.")
888 (home-page "https://metacpan.org/release/Test-NoWarnings")
891 (define-public perl-test-number-delta
893 (name "perl-test-number-delta")
897 (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/"
898 "Test-Number-Delta-" version ".tar.gz"))
901 "0jfhzhpzkc23mkrlbnv085ykpfncmy99hvppbzjnrpvgks8k0m2k"))))
902 (build-system perl-build-system)
903 (home-page "https://metacpan.org/release/Test-Number-Delta")
905 "Compare the difference between numbers against a given tolerance")
907 "At some point or another, most programmers find they need to compare
908 floating-point numbers for equality. The typical idiom is to test if the
909 absolute value of the difference of the numbers is within a desired tolerance,
910 usually called epsilon. This module provides such a function for use with
914 (define-public perl-test-output
916 (name "perl-test-output")
920 (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/"
921 "Test-Output-" version ".tar.gz"))
924 "193y1xjvgc1p9pdgdwps2127knvpz9wc1xh6gmr74y3ihmqz7f7q"))))
925 (build-system perl-build-system)
927 `(("perl-capture-tiny" ,perl-capture-tiny)
928 ("perl-test-tester" ,perl-test-tester)
929 ("perl-sub-exporter" ,perl-sub-exporter)))
930 (synopsis "Utilities to test STDOUT and STDERR messages")
932 "Test::Output provides a simple interface for testing output sent to
933 STDOUT or STDERR. A number of different utilities are included to try and be
934 as flexible as possible to the tester.")
935 (home-page "https://metacpan.org/release/Test-Output")
936 (license perl-license)))
938 (define-public perl-test-pod
940 (name "perl-test-pod")
945 (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
946 "Test-Pod-" version ".tar.gz"))
949 "1z75x1pxwp8ajwq9iazlg2c3wd7rdlim08yclpdg32qnc36dpa30"))))
950 (build-system perl-build-system)
951 (native-inputs `(("perl-module-build" ,perl-module-build)))
952 (home-page "https://metacpan.org/release/Test-Pod")
953 (synopsis "Check for POD errors in files")
954 (description "Check POD files for errors or warnings in a test file, using
955 Pod::Simple to do the heavy lifting.")
956 (license perl-license)))
958 (define-public perl-test-pod-coverage
960 (name "perl-test-pod-coverage")
965 (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/"
966 "Test-Pod-Coverage-" version ".tar.gz"))
969 "1m203mhgfilz7iqc8mxaw4lw02fz391mni3n25sfx7nryylwrja8"))))
970 (build-system perl-build-system)
972 `(("perl-pod-coverage" ,perl-pod-coverage)))
973 (home-page "https://metacpan.org/release/Test-Pod-Coverage")
974 (synopsis "Check for pod coverage")
975 (description "This module adds a test to your Perl distribution which
976 checks for pod coverage of all appropriate files.")
977 (license artistic2.0)))
979 (define-public perl-test-requires
981 (name "perl-test-requires")
986 (uri (string-append "mirror://cpan/authors/id/T/TO/TOKUHIROM/"
987 "Test-Requires-" version ".tar.gz"))
990 "1d9f481lj12cw1ciil46xq9nq16p6a90nm7yrsalpf8asn8s6s17"))))
991 (build-system perl-build-system)
992 (home-page "https://metacpan.org/release/Test-Requires")
993 (synopsis "Checks to see if the module can be loaded")
994 (description "Test::Requires checks to see if the module can be loaded.
995 If this fails, then rather than failing tests this skips all tests.")
996 (license perl-license)))
998 (define-public perl-test-requiresinternet
1000 (name "perl-test-requiresinternet")
1006 "mirror://cpan/authors/id/M/MA/MALLEN/Test-RequiresInternet-"
1011 "0gl33vpj9bb78pzyijp884b66sbw6jkh1ci0xki8rmf03hmb79xv"))))
1012 (build-system perl-build-system)
1013 (home-page "https://metacpan.org/release/Test-RequiresInternet")
1014 (synopsis "Easily test network connectivity when running tests")
1016 "This Perl module is intended to easily test network connectivity to
1017 non-local Internet resources before functional tests begin. If the sockets
1018 cannot connect to the specified hosts and ports, the exception is caught and
1019 reported, and the tests skipped.")
1020 (license perl-license)))
1022 (define-public perl-test-roo
1024 (name "perl-test-roo")
1030 "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Roo-"
1034 "1mnym49j1lj7gzylma5b6nr4vp75rmgz2v71904v01xmxhy9l4i1"))))
1035 (build-system perl-build-system)
1037 `(("perl-capture-tiny" ,perl-capture-tiny)))
1039 `(("perl-indirect" ,perl-indirect)
1040 ("perl-moo" ,perl-moo)
1041 ("perl-moox-types-mooselike" ,perl-moox-types-mooselike)
1042 ("perl-multidimensional" ,perl-multidimensional)
1043 ("perl-strictures" ,perl-strictures)
1044 ("perl-sub-install" ,perl-sub-install)))
1045 (home-page "https://metacpan.org/release/Test-Roo")
1046 (synopsis "Composable, reusable tests with roles and Moo")
1047 (description "Test::Roo provides composable, reusable tests with roles.")
1050 (define-public perl-test-runvalgrind
1052 (name "perl-test-runvalgrind")
1058 "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-RunValgrind-"
1063 "0cfndkn2k9pcx290wcblwmrwh1ybs0grxjlsrp8fbqqbmmjpb53h"))))
1064 (build-system perl-build-system)
1066 `(("perl-module-build" ,perl-module-build)))
1068 `(("perl-path-tiny" ,perl-path-tiny)
1069 ("perl-test-trap" ,perl-test-trap)
1070 ("valgrind" ,valgrind)))
1071 (home-page "https://metacpan.org/release/Test-RunValgrind")
1072 (synopsis "Tests that an external program is valgrind-clean")
1073 (description "Test::RunValgind checks weather Valgrind does not detect
1074 errors (such as memory leaks) in an arbitrary binary executable.")
1077 (define-public perl-test-script
1079 (name "perl-test-script")
1083 (uri (string-append "mirror://cpan/authors/id/P/PL/PLICEASE/"
1084 "Test-Script-" version ".tar.gz"))
1087 "1msavbi6przkxq3npm90nv925v58iym9jrk677wn46x19whwzwzm"))))
1088 (build-system perl-build-system)
1090 `(("perl-capture-tiny" ,perl-capture-tiny)
1091 ("perl-probe-perl" ,perl-probe-perl)))
1092 (synopsis "Basic cross-platform tests for scripts")
1094 "The intent of the Test::Script module is to provide a series of basic
1095 tests for 80% of the testing you will need to do for scripts in the script (or
1096 bin as is also commonly used) paths of your Perl distribution.")
1097 (home-page "https://metacpan.org/release/Test-Script")
1098 (license perl-license)))
1100 (define-public perl-test-sharedfork
1102 (name "perl-test-sharedfork")
1107 (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/"
1108 "Test-SharedFork-" version ".tar.gz"))
1111 "0vlak10q4gcf0ch0rfcb9lvddav6r8h15iipzbkbgf9mrj47gbv3"))))
1112 (build-system perl-build-system)
1114 `(("perl-test-requires" ,perl-test-requires)))
1115 (home-page "https://metacpan.org/release/Test-SharedFork")
1116 (synopsis "Fork test in Perl")
1117 (description "Test::SharedFork is a utility module for Test::Builder. It
1118 makes fork(2) safe to use in test cases.")
1119 (license perl-license)))
1121 (define-public perl-test-simple
1123 (name "perl-test-simple")
1124 (version "1.302136")
1127 (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/"
1128 "Test-Simple-" version ".tar.gz"))
1131 "0inlv8f4rbhsw6qnqhf1w6ay153xbw27fldmb2pmg4ihn19mr6ld"))))
1132 (build-system perl-build-system)
1133 (synopsis "Basic utilities for writing tests")
1135 "Test::Simple contains basic utilities for writing tests.")
1136 (home-page "https://metacpan.org/release/Test-Simple")
1137 (license perl-license)))
1139 (define-public perl-test-taint
1141 (name "perl-test-taint")
1146 (uri (string-append "mirror://cpan/authors/id/P/PE/PETDANCE/Test-Taint-"
1150 "01rip5d7gdr1c7lq6yczzkqfd0500nfa977ryigylj6jj75526vj"))))
1151 (build-system perl-build-system)
1152 (home-page "https://metacpan.org/release/Test-Taint")
1153 (synopsis "Checks for taintedness of variables")
1154 (description "Tainted data is data that comes from an unsafe source, such
1155 as the command line, or, in the case of web apps, any @code{GET} or
1156 @code{POST} transactions. Read the @code{perlsec} man page for details on why
1157 tainted data is bad, and how to untaint the data.
1159 When you're writing unit tests for code that deals with tainted data, you'll
1160 want to have a way to provide tainted data for your routines to handle, and
1161 easy ways to check and report on the taintedness of your data, in standard
1162 @code{Test::More} style.")
1163 (license perl-license)))
1165 (define-public perl-test-tester
1167 (name "perl-test-tester")
1171 (uri (string-append "mirror://cpan/authors/id/F/FD/FDALY/"
1172 "Test-Tester-" version ".tar.gz"))
1175 "0m9n28z09kq455r5nydj1bnr85lvmbfpcbjdkjfbpmfb5xgciiyk"))))
1176 (build-system perl-build-system)
1177 (synopsis "Simplify running Test::Builder tests")
1179 "Test::Tester allows testing of test modules based on Test::Builder with
1180 a minimum of effort.")
1181 (home-page "https://metacpan.org/release/FDALY/Test-Tester-0.109")
1182 (license perl-license)))
1184 (define-public perl-test-perltidy
1186 (name "perl-test-perltidy")
1187 (version "20130104")
1192 "mirror://cpan/authors/id/L/LA/LARRYL/Test-PerlTidy-"
1196 "1j5rsb4km9rzcbd1ljavj8vm42bmilji40v2jj2k87l1ykrxj59z"))))
1197 (build-system perl-build-system)
1199 `(("perl-file-finder" ,perl-file-finder)
1200 ("perl-file-slurp" ,perl-file-slurp)
1201 ("perltidy" ,perltidy)
1202 ("perl-text-diff" ,perl-text-diff)))
1203 (home-page "https://metacpan.org/release/Test-PerlTidy")
1204 (synopsis "Check that all your Perl files are tidy")
1206 "Using @code{Test::PerlTidy}, any file ending in .pl, .pm, .t or .PL will
1207 cause a test fail unless it is exactly as @code{perltidy} would like it to be.")
1208 (license perl-license)))
1210 (define-public perl-test-trap
1212 (name "perl-test-trap")
1217 (uri (string-append "mirror://cpan/authors/id/E/EB/EBHANSSEN/"
1218 "Test-Trap-v" version ".tar.gz"))
1221 "1676gqjyk0zig3yyqv053y5j1pajp2af08ffmgx94n414whbhm5c"))))
1222 (build-system perl-build-system)
1224 `(("perl-module-build" ,perl-module-build)
1225 ("perl-test-simple" ,perl-test-simple)))
1227 `(("perl-test-tester" ,perl-test-tester)
1228 ("perl-data-dump" ,perl-data-dump)))
1229 (home-page "https://metacpan.org/release/Test-Trap")
1230 (synopsis "Trap exit codes, exceptions, output, and so on")
1231 (description "This module is primarily (but not exclusively) for use in
1232 test scripts: A block eval configurable and extensible but by default trapping
1233 STDOUT, STDERR, warnings, exceptions, would-be exit codes, and return values
1234 from boxed blocks of test code.")
1235 (license perl-license)))
1237 (define-public perl-test-utf8
1239 (name "perl-test-utf8")
1244 (uri (string-append "mirror://cpan/authors/id/M/MA/MARKF/"
1245 "Test-utf8-" version ".tar.gz"))
1248 "0yhvf735v334qqvp9zg7i66qyk6r4cbk5s2psv93d3fdd4bindzg"))))
1249 (build-system perl-build-system)
1251 `(("perl-module-install" ,perl-module-install)))
1252 (home-page "https://metacpan.org/release/Test-utf8")
1253 (synopsis "UTF-8 testing in Perl")
1254 (description "This module is a collection of tests useful for dealing with
1255 UTF-8 strings in Perl. This module has two types of tests: The validity tests
1256 check if a string is valid and not corrupt, whereas the characteristics tests
1257 will check that string has a given set of characteristics.")
1258 (license perl-license)))
1260 (define-public perl-test-warn
1262 (name "perl-test-warn")
1267 (uri (string-append "mirror://cpan/authors/id/C/CH/CHORNY/"
1268 "Test-Warn-" version ".tar.gz"))
1271 "0haf2ii7br5z0psmkvlvmx2z2q9qz1c70gx0969r378qjidmb5w1"))))
1272 (build-system perl-build-system)
1274 `(("perl-sub-uplevel" ,perl-sub-uplevel)))
1275 (home-page "https://metacpan.org/release/Test-Warn")
1276 (synopsis "Perl extension to test methods for warnings")
1277 (description "This module provides a few convenience methods for testing
1278 warning based code.")
1279 (license perl-license)))
1281 (define-public perl-test-warnings
1283 (name "perl-test-warnings")
1288 (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
1289 "Test-Warnings-" version ".tar.gz"))
1292 "024srkwjckp15dxkni9lb1hc8bg4xwc52zz0iich8rv1nnqnhaxf"))))
1293 (build-system perl-build-system)
1294 (home-page "https://metacpan.org/release/Test-Warnings")
1295 (synopsis "Test for warnings and the lack of them")
1296 (description "This module is intended to be used as a drop-in replacement
1297 for Test::NoWarnings. It also adds an extra test, but runs this test before
1298 done_testing calculates the test count, rather than after. It does this by
1299 hooking into done_testing as well as via an END block. You can declare a
1300 plan, or not, and things will still Just Work.")
1301 (license perl-license)))
1303 (define-public perl-test-without-module
1305 (name "perl-test-without-module")
1310 (uri (string-append "mirror://cpan/authors/id/C/CO/CORION/"
1311 "Test-Without-Module-" version ".tar.gz"))
1314 "0955ib9cz1naz7a2v6lx78kj29q7ihmdn51im6wd1im669yfp6lf"))))
1315 (build-system perl-build-system)
1316 (home-page "https://metacpan.org/release/Test-Without-Module")
1317 (synopsis "Test fallback behaviour in absence of modules")
1318 (description "This module allows you to deliberately hide modules from a
1319 program even though they are installed. This is mostly useful for testing
1320 modules that have a fallback when a certain dependency module is not
1322 (license perl-license)))
1324 (define-public perl-test-writevariants
1326 (name "perl-test-writevariants")
1331 (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/"
1332 "Test-WriteVariants-" version ".tar.gz"))
1335 "0kklp05fj98yiq8znyfx9lx1vmjay2ypfb868qdwv3kf93m5zjwr"))))
1336 (build-system perl-build-system)
1338 `(("perl-test-most" ,perl-test-most)
1339 ("perl-test-directory" ,perl-test-directory)))
1341 `(("perl-data-tumbler" ,perl-data-tumbler)
1342 ("perl-file-homedir" ,perl-file-homedir)
1343 ("perl-module-pluggable" ,perl-module-pluggable)))
1344 (home-page "https://metacpan.org/release/Test-WriteVariants")
1345 (synopsis "Dynamic generation of tests")
1346 (description "The Test::WriteVariants module provides for the dynamic
1347 generation of tests in nested combinations of contexts.")
1348 (license perl-license))) ;See LICENSE
1350 (define-public perl-test-yaml
1352 (name "perl-test-yaml")
1357 (uri (string-append "mirror://cpan/authors/id/I/IN/INGY/"
1358 "Test-YAML-" version ".tar.gz"))
1361 "0hxrfs7p9hqkhvv5nhk2hd3kh32smwng4nz47b8xf4iw2q1n2dr7"))))
1362 (build-system perl-build-system)
1364 `(("perl-test-base" ,perl-test-base)))
1365 (home-page "https://metacpan.org/release/Test-YAML")
1366 (synopsis "Testing module for YAML implementations")
1367 (description "Test::YAML is a subclass of Test::Base with YAML specific
1369 (license perl-license)))
1371 (define-public perl-test-trailingspace
1373 (name "perl-test-trailingspace")
1379 "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-TrailingSpace-"
1384 "0w2rvsksv7cmf80v632xm2rwxrv933kzz97839yhwynvg9s7b252"))))
1385 (build-system perl-build-system)
1387 `(("perl-module-build" ,perl-module-build)
1388 ("perl-file-find-object" ,perl-file-find-object)
1389 ("perl-class-xsaccessor" ,perl-class-xsaccessor)))
1391 `(("perl-file-find-object-rule" ,perl-file-find-object-rule)
1392 ("perl-text-glob" ,perl-text-glob)
1393 ("perl-number-compare" ,perl-number-compare)))
1395 "https://metacpan.org/release/Test-TrailingSpace")
1397 "Test for trailing space in Perl source files")
1398 (description "Test::TrailingSpace tests for trailing spaces
1399 in Perl source files.")