aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2018-01-01 11:55:40 +0000
committerTobias Geerinckx-Rice <me@tobias.gr>2018-01-02 00:09:16 +0100
commitd948fe7ce84a3e072eb503a7b76045b1033ba13d (patch)
tree6eb2370624c918b85e35e97072327d358b15795f
parentf1a2cb94ca52cab62831b1b18a9f78729fa24d03 (diff)
downloadguix-d948fe7ce84a3e072eb503a7b76045b1033ba13d.tar
guix-d948fe7ce84a3e072eb503a7b76045b1033ba13d.tar.gz
gnu: Add perl-test-mockmodule.
* gnu/packages/perl-check.scm (perl-test-mockmodule): New public variable.
-rw-r--r--gnu/packages/perl-check.scm32
1 files changed, 31 insertions, 1 deletions
diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm
index 1a66a0fc51..121ebec414 100644
--- a/gnu/packages/perl-check.scm
+++ b/gnu/packages/perl-check.scm
@@ -10,7 +10,7 @@
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2017 Petter <petter@mykolab.ch>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -611,6 +611,36 @@ memory_cycle_ok( $object );
@end example")
(license artistic2.0)))
+(define-public perl-test-mockmodule
+ (package
+ (name "perl-test-mockmodule")
+ (version "0.13")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/G/GF/GFRANKS/"
+ "Test-MockModule-" version ".tar.gz"))
+ (sha256
+ (base32 "0lwh6fvnc16r6d74vvh5h4b5a1spcslpjb3mcqbv23k01lm78wvl"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ;; For tests.
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (propagated-inputs
+ `(("perl-super" ,perl-super)))
+ (home-page "http://search.cpan.org/dist/Test-MockModule/")
+ (synopsis "Override subroutines in a module for unit testing")
+ (description
+ "@code{Test::MockModule} lets you temporarily redefine subroutines in other
+packages for the purposes of unit testing. A @code{Test::MockModule} object is
+set up to mock subroutines for a given module. The mocked object remembers the
+original subroutine so it can be easily restored. This happens automatically
+when all @code{MockModule} objects for the given module go out of scope, or when
+you @code{unmock()} the subroutine.")
+ (license gpl3)))
+
(define-public perl-test-mockobject
(package
(name "perl-test-mockobject")