M guix/tests.scm => guix/tests.scm +11 -0
@@ 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.
M tests/pypi.scm => tests/pypi.scm +1 -8
@@ 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\": {