diff --git a/fstest/testserver/init.d/run.bash b/fstest/testserver/init.d/run.bash index e61e7fcc4..ff1f70e94 100644 --- a/fstest/testserver/init.d/run.bash +++ b/fstest/testserver/init.d/run.bash @@ -1,25 +1,25 @@ #!/usr/bin/env bash set -euo pipefail -BASE="${STATE_DIR:-${XDG_RUNTIME_DIR:-/tmp}/rclone-test-server}" +RUN_BASE="${STATE_DIR:-${XDG_RUNTIME_DIR:-/tmp}/rclone-test-server}" : "${NAME:=$(basename "$0")}" -ROOT="${BASE}/${NAME}" -STATE="${ROOT}/state" -LOCKF="${ROOT}/lock" -REFC="${STATE}/refcount" -ENVF="${STATE}/env" +RUN_ROOT="${RUN_BASE}/${NAME}" +RUN_STATE="${RUN_ROOT}/state" +RUN_LOCK_FILE="${RUN_ROOT}/lock" +RUN_REF_COUNT="${RUN_STATE}/refcount" +RUN_OUTPUT="${RUN_STATE}/env" -mkdir -p "${STATE}" -[[ -f "${REFC}" ]] || echo 0 >"${REFC}" -[[ -f "${ENVF}" ]] || : >"${ENVF}" -: > "${LOCKF}" # ensure file exists +mkdir -p "${RUN_STATE}" +[[ -f "${RUN_REF_COUNT}" ]] || echo 0 >"${RUN_REF_COUNT}" +[[ -f "${RUN_OUTPUT}" ]] || : >"${RUN_OUTPUT}" +: > "${RUN_LOCK_FILE}" # ensure file exists # status helper that won't trip set -e _is_running() { set +e; status >/dev/null 2>&1; local rc=$?; set -e; return $rc; } _acquire_lock() { # open fd 9 on lock file and take exclusive lock - exec 9>"${LOCKF}" + exec 9>"${RUN_LOCK_FILE}" flock -x 9 } @@ -33,7 +33,7 @@ case "${1:-}" in _acquire_lock trap '_release_lock' EXIT - rc=$(cat "${REFC}" 2>/dev/null || echo 0) + rc=$(cat "${RUN_REF_COUNT}" 2>/dev/null || echo 0) if (( rc == 0 )); then # First client: ensure a clean instance, then start and cache env @@ -44,7 +44,7 @@ case "${1:-}" in echo "failed to start" >&2 exit 1 fi - printf "%s\n" "$out" > "${ENVF}" + printf "%s\n" "$out" > "${RUN_OUTPUT}" else # Already owned: make sure it’s still up; if not, restart and refresh env if ! _is_running; then @@ -52,12 +52,12 @@ case "${1:-}" in echo "failed to restart" >&2 exit 1 fi - printf "%s\n" "$out" > "${ENVF}" + printf "%s\n" "$out" > "${RUN_OUTPUT}" fi fi - rc=$((rc+1)); echo "${rc}" > "${REFC}" - cat "${ENVF}" + rc=$((rc+1)); echo "${rc}" > "${RUN_REF_COUNT}" + cat "${RUN_OUTPUT}" trap - EXIT _release_lock @@ -67,9 +67,9 @@ case "${1:-}" in _acquire_lock trap '_release_lock' EXIT - rc=$(cat "${REFC}" 2>/dev/null || echo 0) + rc=$(cat "${RUN_REF_COUNT}" 2>/dev/null || echo 0) if (( rc > 0 )); then rc=$((rc-1)); fi - echo "${rc}" > "${REFC}" + echo "${rc}" > "${RUN_REF_COUNT}" if (( rc == 0 )) && _is_running; then stop || true fi @@ -83,7 +83,7 @@ case "${1:-}" in trap '_release_lock' EXIT stop || true - rm -rf "${BASE}" + rm -rf "${RUN_BASE}" trap - EXIT _release_lock