85 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
set -e
 | 
						||
 | 
						||
datadir="@datadir@"
 | 
						||
profiledir="@profiledir@"
 | 
						||
 | 
						||
export TEST_ROOT=$(pwd)/test-tmp
 | 
						||
export NIX_STORE_DIR
 | 
						||
if ! NIX_STORE_DIR=$(readlink -f $TEST_ROOT/store 2> /dev/null); then
 | 
						||
    # Maybe the build directory is symlinked.
 | 
						||
    export NIX_IGNORE_SYMLINK_STORE=1
 | 
						||
    NIX_STORE_DIR=$TEST_ROOT/store
 | 
						||
fi
 | 
						||
export NIX_LOCALSTATE_DIR=$TEST_ROOT/var
 | 
						||
export NIX_LOG_DIR=$TEST_ROOT/var/log/nix
 | 
						||
export NIX_STATE_DIR=$TEST_ROOT/var/nix
 | 
						||
export NIX_DB_DIR=$TEST_ROOT/db
 | 
						||
export NIX_CONF_DIR=$TEST_ROOT/etc
 | 
						||
export NIX_MANIFESTS_DIR=$TEST_ROOT/var/nix/manifests
 | 
						||
export SHARED=$TEST_ROOT/shared
 | 
						||
export NIX_REMOTE=$NIX_REMOTE_
 | 
						||
 | 
						||
export PATH=@bindir@:$PATH
 | 
						||
 | 
						||
export NIX_BUILD_HOOK=
 | 
						||
export dot=@dot@
 | 
						||
export xmllint="@xmllint@"
 | 
						||
export xmlflags="@xmlflags@"
 | 
						||
export xsltproc="@xsltproc@"
 | 
						||
export SHELL="@shell@"
 | 
						||
 | 
						||
export version=@version@
 | 
						||
export system=@system@
 | 
						||
 | 
						||
readLink() {
 | 
						||
    ls -l "$1" | sed 's/.*->\ //'
 | 
						||
}
 | 
						||
 | 
						||
clearProfiles() {
 | 
						||
    profiles="$NIX_STATE_DIR"/profiles
 | 
						||
    rm -rf $profiles
 | 
						||
}
 | 
						||
 | 
						||
clearStore() {
 | 
						||
    echo "clearing store..."
 | 
						||
    chmod -R +w "$NIX_STORE_DIR"
 | 
						||
    rm -rf "$NIX_STORE_DIR"
 | 
						||
    mkdir "$NIX_STORE_DIR"
 | 
						||
    rm -rf "$NIX_DB_DIR"
 | 
						||
    mkdir "$NIX_DB_DIR"
 | 
						||
    nix-store --init
 | 
						||
    clearProfiles
 | 
						||
    rm -f "$NIX_STATE_DIR"/gcroots/auto/*
 | 
						||
    rm -f "$NIX_STATE_DIR"/gcroots/ref
 | 
						||
}
 | 
						||
 | 
						||
clearManifests() {
 | 
						||
    rm -f $NIX_STATE_DIR/manifests/*
 | 
						||
}
 | 
						||
 | 
						||
startDaemon() {
 | 
						||
    # Start the daemon, wait for the socket to appear.  !!!
 | 
						||
    # ‘nix-daemon’ should have an option to fork into the background.
 | 
						||
    rm -f $NIX_STATE_DIR/daemon-socket/socket
 | 
						||
    nix-daemon &
 | 
						||
    for ((i = 0; i < 30; i++)); do
 | 
						||
        if [ -e $NIX_STATE_DIR/daemon-socket/socket ]; then break; fi
 | 
						||
        sleep 1
 | 
						||
    done
 | 
						||
    pidDaemon=$!
 | 
						||
    trap "kill -9 $pidDaemon" EXIT
 | 
						||
    export NIX_REMOTE=daemon
 | 
						||
}
 | 
						||
 | 
						||
killDaemon() {
 | 
						||
    kill -9 $pidDaemon
 | 
						||
    wait $pidDaemon || true
 | 
						||
    trap "" EXIT
 | 
						||
}
 | 
						||
 | 
						||
fail() {
 | 
						||
    echo "$1"
 | 
						||
    exit 1
 | 
						||
}
 | 
						||
 | 
						||
set -x
 |