about summary refs log blame commit diff
path: root/tests/build-remote.sh
blob: e27ce7e25a8e0cd21f30440a74adc209f1dc87f9 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14













                                                                                 
      
                          

                              
 

                                                                                             






                                                                                            
source common.sh

clearStore

if [[ $(uname) != Linux ]]; then exit; fi
if [[ ! $SHELL =~ /nix/store ]]; then exit; fi

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

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")

cat $outPath/foobar | grep FOOBAR

# Ensure that input1 was built on store1 due to the required feature.
p=$(readlink -f $outPath/input-2)
(! nix path-info --store local?root=$TEST_ROOT/store0 --all | grep dependencies.builder1.sh)
nix path-info --store local?root=$TEST_ROOT/store1 --all | grep dependencies.builder1.sh