tests: Unset NIX_STORE_DIR when running external tests.
This is a followup tomastercfcead2e51
and47a6a938c3
, which made (guix packages) dependent on the value of NIX_STORE_DIR. * guix/tests.scm (call-with-external-store): Unset NIX_STORE_DIR before calling PROC.
parent
5318bade32
commit
99ea6a2996
guix
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -138,13 +138,21 @@ no external store to talk to."
|
||||||
(open-connection))
|
(open-connection))
|
||||||
(const #f)))
|
(const #f)))
|
||||||
|
|
||||||
|
(let ((store-variable (getenv "NIX_STORE_DIR")))
|
||||||
(dynamic-wind
|
(dynamic-wind
|
||||||
(const #t)
|
(lambda ()
|
||||||
|
;; This environment variable is set by 'pre-inst-env' but it
|
||||||
|
;; influences '%store-directory' in (guix build utils), which is
|
||||||
|
;; itself used in (guix packages). Thus, unset it before going any
|
||||||
|
;; further.
|
||||||
|
(unsetenv "NIX_STORE_DIR"))
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(proc store))
|
(proc store))
|
||||||
(lambda ()
|
(lambda ()
|
||||||
|
(when store-variable
|
||||||
|
(setenv "NIX_STORE_DIR" store-variable))
|
||||||
(when store
|
(when store
|
||||||
(close-connection store))))))
|
(close-connection store)))))))
|
||||||
|
|
||||||
(define-syntax-rule (with-external-store store exp ...)
|
(define-syntax-rule (with-external-store store exp ...)
|
||||||
"Evaluate EXP with STORE bound to the external store rather than the
|
"Evaluate EXP with STORE bound to the external store rather than the
|
||||||
|
|
Reference in New Issue