#!/bin/bash
# -*- mode: sh; sh-basic-offset: 2; indent-tabs-mode: nil; -*-
# vim:set ft=sh et sw=2 ts=2:
#
# General placeholder command
#
# DUMMY_MOCK_FAIL (optional) - !0 fail code
#
# DUMMY_MOCK_OUTPUT (optional) - echo, "@ARGS@" replaced by arguments
#

unset IFS

err() {
  printf >&2 "%s\n" "$*"
}

fail() {
  local -i rc=0
  [[ $1 != 0 ]] && { printf 2>/dev/null -v rc "%d" "$1" || rc=1; }
  shift
  [[ $1 ]] && { if [[ $rc == 0 ]]; then echo "$@"; else err "$@"; fi; }
  exit "$rc"
}

[[ ${DUMMY_MOCK_FAIL-} || ${DUMMY_MOCK_OUTPUT-} ]] && {
  args='' arg=''; for arg in "$@"; do args+="${args:+ }'${arg}'"; done
  fail "${DUMMY_MOCK_FAIL:-0}" \
       "${DUMMY_MOCK_OUTPUT+${DUMMY_MOCK_OUTPUT/@ARGS@/${args}}}"
}

exit 0
