Browse Source

tests: import: Factorize utility function.

* tests/pypi.scm (mock): Move this...
* guix/tests.scm: to here.
version-0.8.3
Eric Bavier 7 years ago
parent
commit
694b317c2d
  1. 11
      guix/tests.scm
  2. 9
      tests/pypi.scm

11
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.

9
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\": {

Loading…
Cancel
Save