blob: 5aec0c05446d4de828ed4313a89125ee57cc6b38 [file] [log] [blame]
set -eux
export UBSAN_OPTIONS=halt_on_error=1 # UBSan doesn't stop on errors by default.
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" -a
BACKEND="$1"
shift
if [[ "$BACKEND" = "netconf" ]]; then
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
# Run netopeer. Use exec -a, so that each process has a recognizable name for `pkill`.
(exec -a "${SYSREPO_SHM_PREFIX}_netopeer2-server" "$NETOPEER2" -v2 "-U$NETOPEER_SOCKET")
sleep 5
fi