tests: Disable grafts by default.
authorLudovic Courtès <ludo@gnu.org>
Wed, 2 Mar 2016 13:44:18 +0000 (14:44 +0100)
committerLudovic Courtès <ludo@gnu.org>
Wed, 2 Mar 2016 13:47:07 +0000 (14:47 +0100)
Fixes <http://bugs.gnu.org/22872>.
Reported by myglc2 <myglc2@gmail.com>.

* test-env.in: Define and export 'GUIX_BUILD_OPTIONS'.
* tests/guix-build.sh: When setting 'GUIX_BUILD_OPTIONS', make sure it
contains '--no-grafts'.
* tests/guix-package.sh: Likewise.
* tests/guix-daemon.sh: Add (%graft? #f) in Scheme snippets.

test-env.in
tests/guix-build.sh
tests/guix-daemon.sh
tests/guix-package.sh

index 67f4f80..799a622 100644 (file)
@@ -108,8 +108,13 @@ unset LANGUAGE
 LC_MESSAGES=C
 export LC_MESSAGES
 
+# Disable grafts by default because they can cause things to be built
+# regardless of '--dry-run'.
+GUIX_BUILD_OPTIONS="--no-grafts"
+export GUIX_BUILD_OPTIONS
+
 # Ignore user settings.
-unset GUIX_PACKAGE_PATH GUIX_BUILD_OPTIONS
+unset GUIX_PACKAGE_PATH
 
 storedir="@storedir@"
 prefix="@prefix@"
index 347cdfa..778911b 100644 (file)
@@ -207,7 +207,7 @@ guix build --file="$module_dir/gexp.scm" -d
 guix build --file="$module_dir/gexp.scm" -d | grep 'gexp\.drv'
 
 # Using 'GUIX_BUILD_OPTIONS'.
-GUIX_BUILD_OPTIONS="--dry-run"
+GUIX_BUILD_OPTIONS="--dry-run --no-grafts"
 export GUIX_BUILD_OPTIONS
 
 guix build emacs
index 1f9c868..7122eed 100644 (file)
@@ -1,5 +1,5 @@
 # GNU Guix --- Functional package management for GNU
-# Copyright © 2012, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+# Copyright © 2012, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
 #
 # This file is part of GNU Guix.
 #
@@ -27,8 +27,9 @@ guix build --version
 
 drv="`guix build emacs -d`"
 out="`guile -c '                                                               \
-  (use-modules (guix) (gnu packages emacs))                                    \
+  (use-modules (guix) (guix grafts) (gnu packages emacs))                      \
   (define store (open-connection))                                             \
+  (%graft? #f)
   (display (derivation->output-path (package-derivation store emacs)))'`"
 
 hash_part="`basename $out | cut -c 1-32`"
@@ -88,9 +89,12 @@ guix-daemon --no-substitutes --listen="$socket" --disable-chroot     \
 daemon_pid=$!
 
 guile -c "
-  (use-modules (guix) (guix tests) (srfi srfi-34))
+  (use-modules (guix) (guix grafts) (guix tests) (srfi srfi-34))
   (define store (open-connection-for-tests \"$socket\"))
 
+  ;; Disable grafts to avoid building more than needed.
+  (%graft? #f)
+
   (define (build-without-failing drv)
     (lambda (store)
       (guard (c ((nix-protocol-error? c) (values #t store)))
index cf1a185..d750084 100644 (file)
@@ -261,7 +261,7 @@ unset GUIX_PACKAGE_PATH
 
 # Using 'GUIX_BUILD_OPTIONS'.
 available="`guix package -A | sort`"
-GUIX_BUILD_OPTIONS="--dry-run"
+GUIX_BUILD_OPTIONS="--dry-run --no-grafts"
 export GUIX_BUILD_OPTIONS
 
 # Make sure $GUIX_BUILD_OPTIONS is not simply appended to the command-line,
@@ -270,7 +270,9 @@ available2="`guix package -A | sort`"
 test "$available2" = "$available"
 guix package -I
 
-unset GUIX_BUILD_OPTIONS
+# Restore '--no-grafts', which makes sure we don't end up building stuff when
+# '--dry-run' is passed.
+GUIX_BUILD_OPTIONS="--no-grafts"
 
 # Applying a manifest file.
 cat > "$module_dir/manifest.scm"<<EOF