derivations: Add test for #:leaked-env-vars.
* tests/derivations.scm ("derivation #:leaked-env-vars"): New test.master
parent
a887fd8d48
commit
44ad33843a
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -472,6 +472,22 @@
|
||||||
(build-derivations %store (list drv))
|
(build-derivations %store (list drv))
|
||||||
#f)))
|
#f)))
|
||||||
|
|
||||||
|
;; Here we should get the value of $NIX_STATE_DIR that the daemon sees, which
|
||||||
|
;; is a unique value for each test process; this value is the same as the one
|
||||||
|
;; we see in the process executing this file since it is set by 'test-env'.
|
||||||
|
(test-equal "derivation #:leaked-env-vars"
|
||||||
|
(getenv "NIX_STATE_DIR")
|
||||||
|
(let* ((value (getenv "NIX_STATE_DIR"))
|
||||||
|
(drv (derivation %store "leaked-env-vars" %bash
|
||||||
|
'("-c" "echo -n $NIX_STATE_DIR > $out")
|
||||||
|
#:hash (sha256 (string->utf8 value))
|
||||||
|
#:hash-algo 'sha256
|
||||||
|
#:inputs `((,%bash))
|
||||||
|
#:leaked-env-vars '("NIX_STATE_DIR"))))
|
||||||
|
(and (build-derivations %store (list drv))
|
||||||
|
(call-with-input-file (derivation->output-path drv)
|
||||||
|
get-string-all))))
|
||||||
|
|
||||||
|
|
||||||
(define %coreutils
|
(define %coreutils
|
||||||
(false-if-exception
|
(false-if-exception
|
||||||
|
|
Reference in New Issue