set -eux

if [[ $(dirname "$(dirname "$(realpath "$SYSREPO_REPOSITORY_PATH")")") != "@CMAKE_CURRENT_BINARY_DIR@" ]]; then
    echo "\$SYSREPO_REPOSITORY_PATH is not inside the build dir! Aborting. ($SYSREPO_REPOSITORY_PATH)"
    exit 1
fi

if [[ -z "$SYSREPO_SHM_PREFIX" ]]; then
    echo '$SYSREPO_SHM_PREFIX is empty! Aborting.'
    exit 1
fi

rm -rf "$SYSREPO_REPOSITORY_PATH"
rm -rf "/dev/shm/$SYSREPO_SHM_PREFIX"*
cp -r "@SYSREPO_SR_REPO_PATH@" "$SYSREPO_REPOSITORY_PATH"

SYSREPOCTL="@SYSREPOCTL_EXECUTABLE@"
SYSREPOCFG="@SYSREPOCFG_EXECUTABLE@"

MODULE="$1"
YANG_DIR=$(dirname "$1")
shift

# Install the module
"$SYSREPOCTL" --search-dirs "$YANG_DIR" --install "$MODULE" -v3

BACKEND="$1"
shift
if [[ "$BACKEND" = "netconf" ]]; then
    # Kill previous instances of Netopeer2 that are associated with this test. These can appear when you run tests and
    # press CTRL-C before let the cleanup tests run.
    pkill -f "${SYSREPO_SHM_PREFIX}_netopeer2-server" || true

    NETOPEER2="@NETOPEER2_EXECUTABLE@"
    # Setup netopeer config
    "$SYSREPOCFG" --import --datastore=running --format=xml --module=ietf-netconf-server <<< ""

    # Disable nacm
    for datastore in startup running; do
        "$SYSREPOCFG" --import="@CMAKE_CURRENT_SOURCE_DIR@/tests/disable-nacm.xml" --datastore="$datastore" --format=xml --module=ietf-netconf-acm
    done

    # I need to run netopeer in the foreground, because I want to get its standard outputs.  However, ctest doesn't like
    # when child processes don't exit and always waits fot them.  The `setsid` command runs a program in a separate
    # session and also forks, which means it becomes invisible to ctest.  I want the name of the process to be
    # recognizable. For that `exec -a` can be used. Unfortunately `exec` is shell-builtin, so I need to run bash instead
    # of running `exec` directly. Finally, I redirect its stdout and stderr to a file.
    NETOPEER_PIDFILE="@CMAKE_CURRENT_BINARY_DIR@/test_netopeer_files/$SYSREPO_SHM_PREFIX.pid"
    setsid -f \
        bash -c "exec -a '${SYSREPO_SHM_PREFIX}_netopeer2-server' '$NETOPEER2' -d -v2 '-U$NETOPEER_SOCKET' -p'$NETOPEER_PIDFILE'" \
        < /dev/null &> "@CMAKE_CURRENT_BINARY_DIR@/test_netopeer_outputs/$SYSREPO_SHM_PREFIX.out"
    sleep 5
fi
