#!/usr/bin/env bash set -euo pipefail : "${PERSIST_MOCK_LOG:=/tmp/persist-mock.log}" : "${PERSIST_MOCK_FAIL:=0}" : "${PERSIST_MOCK_DELAY_SECS:=0}" : "${PERSIST_MOCK_ACTIVE_DIR:=}" : "${PERSIST_MOCK_FAIL_ON_CONCURRENT:=0}" printf '%s %s\n' "$(basename -- "$0")" "$*" >>"${PERSIST_MOCK_LOG}" cleanup() { [[ -n ${PERSIST_MOCK_ACTIVE_DIR} ]] || return 0 rmdir "${PERSIST_MOCK_ACTIVE_DIR}" 2>/dev/null || true } if [[ -n ${PERSIST_MOCK_ACTIVE_DIR} ]]; then if ! mkdir "${PERSIST_MOCK_ACTIVE_DIR}" 2>/dev/null; then if [[ ${PERSIST_MOCK_FAIL_ON_CONCURRENT} == 1 ]]; then exit 1 fi else trap cleanup EXIT fi fi if [[ ${PERSIST_MOCK_DELAY_SECS} != 0 ]]; then sleep "${PERSIST_MOCK_DELAY_SECS}" fi if [[ ${PERSIST_MOCK_FAIL} == 1 ]]; then exit 1 fi