mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
tests: import: Factorize utility function.
* tests/pypi.scm (mock): Move this... * guix/tests.scm: to here.
This commit is contained in:
parent
1ff2619bc1
commit
694b317c2d
2 changed files with 12 additions and 8 deletions
|
@ -27,6 +27,7 @@ (define-module (guix tests)
|
|||
#:export (open-connection-for-tests
|
||||
random-text
|
||||
random-bytevector
|
||||
mock
|
||||
with-derivation-narinfo
|
||||
dummy-package))
|
||||
|
||||
|
@ -70,6 +71,16 @@ (define (random-bytevector n)
|
|||
(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.
|
||||
|
|
|
@ -20,17 +20,10 @@ (define-module (test-pypi)
|
|||
#: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…
Reference in a new issue