diff options
author | Ludovic Courtès <ludo@gnu.org> | 2018-02-28 16:42:34 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-02-28 22:47:42 +0100 |
commit | 297602513bf023e485a496bbb813cb9cafdf7475 (patch) | |
tree | 805f022d6ef1f61d88cfaedda83835e85fa9d8c7 /tests/packages.scm | |
parent | bcc65510839d1b1800e0fd93b7e4c4d8f79a754c (diff) | |
download | guix-297602513bf023e485a496bbb813cb9cafdf7475.tar guix-297602513bf023e485a496bbb813cb9cafdf7475.tar.gz |
build-system/trivial: Add support for #:allowed-references.
* guix/build-system/trivial.scm (lower): Add #:allowed-references and
keep it in the 'arguments' field.
(trivial-build): Add #:allowed-references. Add
'canonicalize-reference'. Pass #:allowed-references to
'build-expression->derivation'.
(trivial-cross-build): Likewise.
* tests/packages.scm ("trivial with #:allowed-references"): New test.
Diffstat (limited to 'tests/packages.scm')
-rw-r--r-- | tests/packages.scm | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/tests/packages.scm b/tests/packages.scm index 930374dabf..b2fa21a874 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -557,6 +557,24 @@ (let ((p (pk 'drv d (derivation->output-path d)))) (eq? 'hello (call-with-input-file p read)))))) +(test-assert "trivial with #:allowed-references" + (let* ((p (package + (inherit (dummy-package "trivial")) + (build-system trivial-build-system) + (arguments + `(#:guile ,%bootstrap-guile + #:allowed-references (,%bootstrap-guile) + #:builder + (begin + (mkdir %output) + ;; The reference to itself isn't allowed so building it + ;; should fail. + (symlink %output (string-append %output "/self"))))))) + (d (package-derivation %store p))) + (guard (c ((nix-protocol-error? c) #t)) + (build-derivations %store (list d)) + #f))) + (test-assert "search paths" (let* ((p (make-prompt-tag "return-search-paths")) (s (build-system |