Pass all settings to build-remote

This ensures that command line flags such as --builders get passed
correctly.
This commit is contained in:
Eelco Dolstra 2017-10-23 20:43:04 +02:00
parent f32cdc4fab
commit 37fbfffd8e
No known key found for this signature in database
GPG key ID: 8170B4726D7198DE
7 changed files with 75 additions and 82 deletions

View file

@ -1,23 +0,0 @@
#! /bin/sh
#set -x
while read x y drv rest; do
echo "HOOK for $drv" >&2
outPath=`sed 's/Derive(\[("out",\"\([^\"]*\)\".*/\1/' $drv`
echo "output path is $outPath" >&2
if `echo $outPath | grep -q input-1`; then
echo "# accept" >&2
read inputs
read outputs
mkdir $outPath
echo "BAR" > $outPath/foo
else
echo "# decline" >&2
fi
done

View file

@ -1,10 +0,0 @@
source common.sh
clearStore
outPath=$(nix-build build-hook.nix --no-out-link --option build-hook $(pwd)/build-hook.hook.sh)
echo "output path is $outPath"
text=$(cat "$outPath"/foobar)
if test "$text" != "BARBAR"; then exit 1; fi

View file

@ -9,16 +9,11 @@ chmod -R u+w $TEST_ROOT/store0 || true
chmod -R u+w $TEST_ROOT/store1 || true
rm -rf $TEST_ROOT/store0 $TEST_ROOT/store1
# FIXME: --option is not passed to build-remote, so have to create a config file.
export NIX_CONF_DIR=$TEST_ROOT/etc2
mkdir -p $NIX_CONF_DIR
echo "
sandbox-paths = /nix/store
sandbox-build-dir = /build-tmp
" > $NIX_CONF_DIR/nix.conf
nix build -f build-hook.nix -o $TEST_ROOT/result --max-jobs 0 \
--sandbox-paths /nix/store --sandbox-build-dir /build-tmp \
--builders "local?root=$TEST_ROOT/store0; local?root=$TEST_ROOT/store1 - - 1 1 foo"
outPath=$(nix-build build-hook.nix --no-out-link -j0 \
--option builders "local?root=$TEST_ROOT/store0; local?root=$TEST_ROOT/store1 - - 1 1 foo")
outPath=$TEST_ROOT/result
cat $outPath/foobar | grep FOOBAR

View file

@ -3,7 +3,7 @@ check:
nix_tests = \
init.sh hash.sh lang.sh add.sh simple.sh dependencies.sh \
build-hook.sh gc.sh gc-concurrent.sh \
gc.sh gc-concurrent.sh \
referrers.sh user-envs.sh logging.sh nix-build.sh misc.sh fixed.sh \
gc-runtime.sh check-refs.sh filter-source.sh \
remote-store.sh export.sh export-graph.sh \