From 442a6ff5eae094f1fd4e09241a2f35c33ab908da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 2 Mar 2016 14:44:18 +0100 Subject: [PATCH] tests: Disable grafts by default. Fixes . Reported by myglc2 . * 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 | 7 ++++++- tests/guix-build.sh | 2 +- tests/guix-daemon.sh | 10 +++++++--- tests/guix-package.sh | 6 ++++-- 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 +# Copyright © 2012, 2014, 2015, 2016 Ludovic Courtès # # 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"<