diff options
Diffstat (limited to 'tests/common.sh.in')
-rw-r--r-- | tests/common.sh.in | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/tests/common.sh.in b/tests/common.sh.in new file mode 100644 index 000000000000..2bbc39c28a84 --- /dev/null +++ b/tests/common.sh.in @@ -0,0 +1,84 @@ +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 xmlflags="@xmlflags@" +export xsltproc="@xsltproc@" +export SHELL="@bash@" + +export version=@PACKAGE_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 |