Václav Kubernát | d1beedc | 2020-09-07 12:09:05 +0200 | [diff] [blame] | 1 | set -eux |
| 2 | export UBSAN_OPTIONS=halt_on_error=1 # UBSan doesn't stop on errors by default. |
| 3 | |
| 4 | if [[ $(dirname "$(dirname "$(realpath "$SYSREPO_REPOSITORY_PATH")")") != "@CMAKE_CURRENT_BINARY_DIR@" ]]; then |
| 5 | echo "\$SYSREPO_REPOSITORY_PATH is not inside the build dir! Aborting. ($SYSREPO_REPOSITORY_PATH)" |
| 6 | exit 1 |
| 7 | fi |
| 8 | |
| 9 | if [[ -z "$SYSREPO_SHM_PREFIX" ]]; then |
| 10 | echo '$SYSREPO_SHM_PREFIX is empty! Aborting.' |
| 11 | exit 1 |
| 12 | fi |
| 13 | |
| 14 | rm -rf "$SYSREPO_REPOSITORY_PATH" |
| 15 | rm -rf "/dev/shm/$SYSREPO_SHM_PREFIX"* |
| 16 | cp -r "@SYSREPO_SR_REPO_PATH@" "$SYSREPO_REPOSITORY_PATH" |
| 17 | |
| 18 | SYSREPOCTL="@SYSREPOCTL_EXECUTABLE@" |
| 19 | SYSREPOCFG="@SYSREPOCFG_EXECUTABLE@" |
| 20 | |
| 21 | MODULE="$1" |
| 22 | YANG_DIR=$(dirname "$1") |
| 23 | shift |
| 24 | |
| 25 | # Install the module |
| 26 | "$SYSREPOCTL" --search-dirs "$YANG_DIR" --install "$MODULE" -a |
| 27 | |
| 28 | BACKEND="$1" |
| 29 | shift |
| 30 | if [[ "$BACKEND" = "netconf" ]]; then |
| 31 | NETOPEER2="@NETOPEER2_EXECUTABLE@" |
| 32 | # Setup netopeer config |
| 33 | "$SYSREPOCFG" --import --datastore=running --format=xml --module=ietf-netconf-server <<< "" |
| 34 | |
| 35 | # Disable nacm |
| 36 | for datastore in startup running; do |
| 37 | "$SYSREPOCFG" --import="@CMAKE_CURRENT_SOURCE_DIR@/tests/disable-nacm.xml" --datastore="$datastore" --format=xml --module=ietf-netconf-acm |
| 38 | done |
| 39 | |
| 40 | # Run netopeer. Use exec -a, so that each process has a recognizable name for `pkill`. |
| 41 | (exec -a "${SYSREPO_SHM_PREFIX}_netopeer2-server" "$NETOPEER2" -v2 "-U$NETOPEER_SOCKET") |
| 42 | sleep 5 |
| 43 | fi |