aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix/tests.scm11
-rw-r--r--tests/pypi.scm9
2 files changed, 12 insertions, 8 deletions
diff --git a/guix/tests.scm b/guix/tests.scm
index 82ae7e2084..36341cb4cc 100644
--- a/guix/tests.scm
+++ b/guix/tests.scm
@@ -27,6 +27,7 @@
#:export (open-connection-for-tests
random-text
random-bytevector
+ mock
with-derivation-narinfo
dummy-package))
@@ -70,6 +71,16 @@
(loop (1+ i)))
bv))))
+(define-syntax-rule (mock (module proc replacement) body ...)
+ "Within BODY, replace the definition of PROC from MODULE with the definition
+given by REPLACEMENT."
+ (let* ((m (resolve-module 'module))
+ (original (module-ref m 'proc)))
+ (dynamic-wind
+ (lambda () (module-set! m 'proc replacement))
+ (lambda () body ...)
+ (lambda () (module-set! m 'proc original)))))
+
;;;
;;; Narinfo files, as used by the substituter.
diff --git a/tests/pypi.scm b/tests/pypi.scm
index 53c34d9e93..45cf7cac4f 100644
--- a/tests/pypi.scm
+++ b/tests/pypi.scm
@@ -20,17 +20,10 @@
#:use-module (guix import pypi)
#:use-module (guix base32)
#:use-module (guix hash)
+ #:use-module (guix tests)
#:use-module (srfi srfi-64)
#:use-module (ice-9 match))
-(define-syntax-rule (mock (module proc replacement) body ...)
- (let* ((m (resolve-module 'module))
- (original (module-ref m 'proc)))
- (dynamic-wind
- (lambda () (module-set! m 'proc replacement))
- (lambda () body ...)
- (lambda () (module-set! m 'proc original)))))
-
(define test-json
"{
\"info\": {