diff options
author | Leo Famulari <leo@famulari.name> | 2017-03-27 21:19:38 -0400 |
---|---|---|
committer | Leo Famulari <leo@famulari.name> | 2017-03-27 21:19:38 -0400 |
commit | c17383f400d3b942c22ec46b556cad8ca3a2fce1 (patch) | |
tree | f430fdc7b6e41a652b4a0dbdd08050f586e4b24d /tests/union.scm | |
parent | b1a8fd2d2cf6bf1b20ba8d26ca6f9a7caef60cbc (diff) | |
parent | 7aeb4ffa5828206f89ec62226863c27f7c1c028d (diff) | |
download | guix-patches-c17383f400d3b942c22ec46b556cad8ca3a2fce1.tar guix-patches-c17383f400d3b942c22ec46b556cad8ca3a2fce1.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'tests/union.scm')
-rw-r--r-- | tests/union.scm | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/tests/union.scm b/tests/union.scm index cccf397181..b63edc757b 100644 --- a/tests/union.scm +++ b/tests/union.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -124,4 +124,24 @@ ;; new 'bin' sub-directory in the profile. (eq? 'directory (stat:type (lstat "bin")))))))) +(test-assert "union-build #:create-all-directories? #t" + (let* ((build `(begin + (use-modules (guix build union)) + (union-build (assoc-ref %outputs "out") + (map cdr %build-inputs) + #:create-all-directories? #t))) + (input (package-derivation %store %bootstrap-guile)) + (drv (build-expression->derivation %store "union-test-all-dirs" + build + #:modules '((guix build union)) + #:inputs `(("g" ,input))))) + (and (build-derivations %store (list drv)) + (with-directory-excursion (derivation->output-path drv) + ;; Even though there's only one input to the union, + ;; #:create-all-directories? #t must have created bin/ rather than + ;; making it a symlink to Guile's bin/. + (and (file-exists? "bin/guile") + (file-is-directory? "bin") + (eq? 'symlink (stat:type (lstat "bin/guile")))))))) + (test-end) |