summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-03-02 14:44:18 +0100
committerLudovic Courtès <ludo@gnu.org>2016-03-02 14:47:07 +0100
commit442a6ff5eae094f1fd4e09241a2f35c33ab908da (patch)
treed4b142a289b584d54ca5fd8841c2ecb9aa87994c
parent637cd1254320fd89fe6d910b3fa7665b19487072 (diff)
downloadguix-442a6ff5eae094f1fd4e09241a2f35c33ab908da.tar.gz
tests: Disable grafts by default.
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.
-rw-r--r--test-env.in7
-rw-r--r--tests/guix-build.sh2
-rw-r--r--tests/guix-daemon.sh10
-rw-r--r--tests/guix-package.sh6
4 files changed, 18 insertions, 7 deletions
diff --git a/test-env.in b/test-env.in
index 67f4f805fa..799a62276f 100644
--- a/test-env.in
+++ b/test-env.in
@@ -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@"
diff --git a/tests/guix-build.sh b/tests/guix-build.sh
index 347cdfa4e4..778911b2f8 100644
--- a/tests/guix-build.sh
+++ b/tests/guix-build.sh
@@ -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
diff --git a/tests/guix-daemon.sh b/tests/guix-daemon.sh
index 1f9c868293..7122eed0e6 100644
--- a/tests/guix-daemon.sh
+++ b/tests/guix-daemon.sh
@@ -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)))
diff --git a/tests/guix-package.sh b/tests/guix-package.sh
index cf1a185590..d75008448b 100644
--- a/tests/guix-package.sh
+++ b/tests/guix-package.sh
@@ -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