#!/usr/bin/env bash _dir_=$(realpath "$(dirname "$0")") script=casign casign="$_dir_/$script" main() { local casign_vars casign_vars=$(grep -Ev '(^#)|(^$)' "$casign" | head -20 | grep -E '^\s*\w+=') assert_output \ "$(echo "$casign_vars" | grep '^VERSION=' | sed 's/^VERSION=//;s/\n$//')" \ "Unexpected version value" \ v echo "" echo "Done" } invoke() { echo >&2 "$script" "$@" if ! "$casign" "$@"; then echo >&2 "Unexpected exit code $?" exit 1 fi } assert_output() { local expected="$1" local message="${2:-Unexpected output}" shift shift local output output=$(invoke "$@") if [[ "$expected" != "$output" ]]; then echo >&2 "$message: \"$output\" != \"$expected\"" exit 2 fi } main "$@"