#!/usr/bin/env bash set -Eeuo pipefail command_name=${0##*/} : "${TEST_MOCK_LOG:?TEST_MOCK_LOG must identify the isolated test log}" allow_empty=${MOCK_ALLOW_EMPTY_INVOCATION:-} printf '%q' "$command_name" >>"$TEST_MOCK_LOG" for argument in "$@"; do printf ' %q' "$argument" >>"$TEST_MOCK_LOG"; done printf '\n' >>"$TEST_MOCK_LOG" if [[ $# == 3 && $1 == show && -n ${WG_MOCK_INTERFACE:-} && $2 == "$WG_MOCK_INTERFACE" && $3 == dump && -n ${WG_MOCK_DUMP_FILE:-} && -f $WG_MOCK_DUMP_FILE ]]; then cat -- "$WG_MOCK_DUMP_FILE" exit 0 fi if [[ -n "$allow_empty" && "$allow_empty" != "$command_name" ]]; then printf 'Unexpected mock invocation: %s does not allow empty calls for %s\n' "$command_name" "$allow_empty" >&2 exit 99 fi if [[ $# == 0 && "$allow_empty" == "$command_name" ]]; then exit 0 fi printf 'Unexpected mock invocation: %s received arguments\n' "$command_name" >&2 exit 99