99 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| set -e
 | |
| 
 | |
| export TOP=$(pwd)/..
 | |
| 
 | |
| 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_DATA_DIR=$TEST_ROOT/data
 | |
| 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_BIN_DIR=$TEST_ROOT/bin
 | |
| export NIX_LIBEXEC_DIR=$TEST_ROOT/bin
 | |
| export NIX_MANIFESTS_DIR=$TEST_ROOT/var/nix/manifests
 | |
| export NIX_ROOT_FINDER=
 | |
| export SHARED=$TEST_ROOT/shared
 | |
| 
 | |
| export PATH=$NIX_BIN_DIR:$TOP/scripts:$PATH
 | |
| 
 | |
| export NIX_REMOTE=
 | |
| 
 | |
| export REAL_BIN_DIR=@bindir@
 | |
| export REAL_LIBEXEC_DIR=@libexecdir@
 | |
| export REAL_LOCALSTATE_DIR=@localstatedir@
 | |
| export REAL_DATA_DIR=@datadir@
 | |
| export REAL_STORE_DIR=@storedir@
 | |
| export NIX_BUILD_HOOK=
 | |
| export PERL=perl
 | |
| export PERL5LIB=$TOP/perl/lib
 | |
| export NIX_BZIP2="@bzip2_bin_test@/bzip2"
 | |
| if test "${NIX_BZIP2:0:1}" != "/"; then
 | |
|     NIX_BZIP2=`pwd`/${NIX_BZIP2}
 | |
| fi
 | |
| export dot=@dot@
 | |
| export xmllint="@xmllint@"
 | |
| export xmlflags="@xmlflags@"
 | |
| export xsltproc="@xsltproc@"
 | |
| export sqlite3="@sqlite_bin@/bin/sqlite3"
 | |
| export SHELL="@shell@"
 | |
| 
 | |
| export version=@version@
 | |
| export system=@system@
 | |
| 
 | |
| export nixinstantiate=$TOP/src/nix-instantiate/nix-instantiate
 | |
| export nixstore=$TOP/src/nix-store/nix-store
 | |
| export nixenv=$TOP/src/nix-env/nix-env
 | |
| export nixhash=$TOP/src/nix-hash/nix-hash
 | |
| export nixworker=$TOP/src/nix-worker/nix-worker
 | |
| export nixbuild=$NIX_BIN_DIR/nix-build
 | |
| 
 | |
| readLink() {
 | |
|     ls -l "$1" | sed 's/.*->\ //'
 | |
| }
 | |
| 
 | |
| clearProfiles() {
 | |
|     profiles="$NIX_STATE_DIR"/profiles
 | |
|     rm -f $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"
 | |
|     $nixstore --init
 | |
|     clearProfiles
 | |
|     rm -f "$NIX_STATE_DIR"/gcroots/auto/*
 | |
|     rm -f "$NIX_STATE_DIR"/gcroots/ref
 | |
| }
 | |
| 
 | |
| clearManifests() {
 | |
|     rm -f $NIX_STATE_DIR/manifests/*
 | |
| }
 | |
| 
 | |
| startDaemon() {
 | |
|     $nixworker --daemon &
 | |
|     pidDaemon=$!
 | |
|     trap "kill -9 $pidDaemon" EXIT
 | |
|     export NIX_REMOTE=daemon
 | |
| }
 | |
| 
 | |
| killDaemon() {
 | |
|     kill -9 $pidDaemon
 | |
|     wait $pidDaemon || true
 | |
|     trap "" EXIT
 | |
| }
 | |
| 
 | |
| fail() {
 | |
|     echo "$1"
 | |
|     exit 1
 | |
| }
 |