#!/bin/sh
set -eu

# Setup the environment
TEMPDIST="$(mktemp -d)"
mv dist "${TEMPDIST}/"

GOPATH="$(mktemp -d)"
export GOPATH
cp -R "${TEMPDIST}/dist/src" "${GOPATH}/"
rm "${GOPATH}/src/github.com/lxc/lxd"
ln -s "$(pwd)" "${GOPATH}/src/github.com/lxc/lxd"
cd "${GOPATH}/src/github.com/lxc/lxd"
chmod +x "${GOPATH}"

cleanup() {
    set +e
    [ -e /sbin/lvm.orig ] && mv /sbin/lvm.orig /sbin/lvm
    mv "${TEMPDIST}/dist" dist
    rm -Rf "${TEMPDIST}"
    rm -Rf "${GOPATH}"
}

trap cleanup EXIT HUP INT TERM
# Disable LVM tests on systems (adt runners don't have a suitable LVM setup)
[ -e /sbin/lvm ] && mv /sbin/lvm /sbin/lvm.orig

# Define lxdbr0 if missing
lxc network show lxdbr0 --force-local >/dev/null || lxc network create lxdbr0 --force-local

# Unset proxy (messes with our tests)
unset http_proxy
unset https_proxy
unset HTTP_PROXY
unset HTTPS_PROXY

# Run the tests
export LXD_OFFLINE=1
export LXD_TMPFS=1
export LXD_VERBOSE=1
(cd test/ && ./main.sh)
