89 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| set -e
 | ||
| 
 | ||
| datadir="@datadir@"
 | ||
| 
 | ||
| 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 _NIX_TEST_SHARED=$TEST_ROOT/shared
 | ||
| export NIX_REMOTE=$NIX_REMOTE_
 | ||
| 
 | ||
| export PATH=@bindir@:$PATH
 | ||
| 
 | ||
| export NIX_BUILD_HOOK=
 | ||
| export dot=@dot@
 | ||
| export xmllint="@xmllint@"
 | ||
| export xsltproc="@xsltproc@"
 | ||
| export SHELL="@bash@"
 | ||
| 
 | ||
| export version=@PACKAGE_VERSION@
 | ||
| export system=@system@
 | ||
| 
 | ||
| cacheDir=$TEST_ROOT/binary-cache
 | ||
| 
 | ||
| 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/*
 | ||
| }
 | ||
| 
 | ||
| clearCache() {
 | ||
|     rm -rf "$cacheDir"
 | ||
| }
 | ||
| 
 | ||
| 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
 |