|
|
@ -2,6 +2,8 @@ |
|
|
|
|
|
|
|
|
# CONSTANTS |
|
|
# CONSTANTS |
|
|
|
|
|
|
|
|
|
|
|
readonly TMP_DIRECTORY="/tmp/$(basename "$0")-$UID" |
|
|
|
|
|
|
|
|
# functions |
|
|
# functions |
|
|
|
|
|
|
|
|
function assert { |
|
|
function assert { |
|
|
@ -29,8 +31,8 @@ function assert_grep { |
|
|
local script="$1" content="$2" extra_args=() |
|
|
local script="$1" content="$2" extra_args=() |
|
|
[[ $# -gt 3 ]] && shift 3 && extra_args=("$@") |
|
|
[[ $# -gt 3 ]] && shift 3 && extra_args=("$@") |
|
|
cmd="./test/stub/scenario.bash $script" |
|
|
cmd="./test/stub/scenario.bash $script" |
|
|
if $cmd "${extra_args[@]}" >_stdout 2>/dev/null 3>/dev/null; then |
|
|
|
|
|
if grep -q "$content" _stdout; then |
|
|
|
|
|
|
|
|
if $cmd "${extra_args[@]}" >"$TMP_DIRECTORY"/_stdout 2>/dev/null 3>/dev/null; then |
|
|
|
|
|
if grep -q "$content" "$TMP_DIRECTORY"/_stdout; then |
|
|
echo -n . |
|
|
echo -n . |
|
|
return |
|
|
return |
|
|
fi |
|
|
fi |
|
|
@ -50,8 +52,8 @@ function fail_type { |
|
|
|
|
|
|
|
|
cmd="./test/stub/scenario.bash $1" |
|
|
cmd="./test/stub/scenario.bash $1" |
|
|
# mapfile -t stderr <<<"$(miaou-bash ./test/stub/scenario.bash "$1" 2>&1 >/dev/null 3>/dev/null)" |
|
|
# mapfile -t stderr <<<"$(miaou-bash ./test/stub/scenario.bash "$1" 2>&1 >/dev/null 3>/dev/null)" |
|
|
$cmd >/dev/null 2>_stderr 3>_miaou |
|
|
|
|
|
mapfile -t stderr <_stderr |
|
|
|
|
|
|
|
|
$cmd >/dev/null 2>"$TMP_DIRECTORY"/_stderr 3>_miaou |
|
|
|
|
|
mapfile -t stderr <"$TMP_DIRECTORY"/_stderr |
|
|
|
|
|
|
|
|
last_error="${stderr[-1]}" |
|
|
last_error="${stderr[-1]}" |
|
|
regex="^(.*): line ([0-9]+): miaou_error: $2 ([0-9]+)" |
|
|
regex="^(.*): line ([0-9]+): miaou_error: $2 ([0-9]+)" |
|
|
@ -76,8 +78,8 @@ function fail_stderr_count { |
|
|
|
|
|
|
|
|
cmd="./test/stub/scenario.bash $1" |
|
|
cmd="./test/stub/scenario.bash $1" |
|
|
# mapfile -t stderr <<<"$(miaou-bash ./test/stub/scenario.bash "$1" 2>&1 >/dev/null 3>/dev/null)" |
|
|
# mapfile -t stderr <<<"$(miaou-bash ./test/stub/scenario.bash "$1" 2>&1 >/dev/null 3>/dev/null)" |
|
|
if ! $cmd >/dev/null 2>_stderr 3>/dev/null; then |
|
|
|
|
|
mapfile -t stderr <_stderr |
|
|
|
|
|
|
|
|
if ! $cmd >/dev/null 2>"$TMP_DIRECTORY"/_stderr 3>/dev/null; then |
|
|
|
|
|
mapfile -t stderr <"$TMP_DIRECTORY"/_stderr |
|
|
if [[ "${#stderr[@]}" == "$count" ]]; then |
|
|
if [[ "${#stderr[@]}" == "$count" ]]; then |
|
|
echo -n . |
|
|
echo -n . |
|
|
return |
|
|
return |
|
|
@ -85,7 +87,7 @@ function fail_stderr_count { |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
echo -n F |
|
|
echo -n F |
|
|
failures+=("$cmd 2>_stderr") |
|
|
|
|
|
|
|
|
failures+=("$cmd 2>"$TMP_DIRECTORY"/_stderr") |
|
|
return 1 |
|
|
return 1 |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -95,8 +97,8 @@ function fail_miaou_count { |
|
|
|
|
|
|
|
|
cmd="./test/stub/scenario.bash $1" |
|
|
cmd="./test/stub/scenario.bash $1" |
|
|
# mapfile -t stderr <<<"$(miaou-bash ./test/stub/scenario.bash "$1" 2>&1 >/dev/null 3>/dev/null)" |
|
|
# mapfile -t stderr <<<"$(miaou-bash ./test/stub/scenario.bash "$1" 2>&1 >/dev/null 3>/dev/null)" |
|
|
if ! $cmd >/dev/null 2>/dev/null 3>_miaou; then |
|
|
|
|
|
mapfile -t miaou <_miaou |
|
|
|
|
|
|
|
|
if ! $cmd >/dev/null 2>/dev/null 3>"$TMP_DIRECTORY"/_miaou; then |
|
|
|
|
|
mapfile -t miaou <"$TMP_DIRECTORY"/_miaou |
|
|
if [[ "${#miaou[@]}" == "$count" ]]; then |
|
|
if [[ "${#miaou[@]}" == "$count" ]]; then |
|
|
echo -n . |
|
|
echo -n . |
|
|
return |
|
|
return |
|
|
@ -104,7 +106,7 @@ function fail_miaou_count { |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
echo -n F |
|
|
echo -n F |
|
|
failures+=("$cmd 3>_miaou") |
|
|
|
|
|
|
|
|
failures+=("$cmd 3>$TMP_DIRECTORY/_miaou") |
|
|
return 1 |
|
|
return 1 |
|
|
} |
|
|
} |
|
|
# main |
|
|
# main |
|
|
@ -113,7 +115,7 @@ set -uo pipefail |
|
|
|
|
|
|
|
|
test_count=0 |
|
|
test_count=0 |
|
|
failures=() |
|
|
failures=() |
|
|
|
|
|
|
|
|
|
|
|
mkdir -p "$TMP_DIRECTORY" |
|
|
TIMEFORMAT=$'\nelapsed: %Rs' |
|
|
TIMEFORMAT=$'\nelapsed: %Rs' |
|
|
|
|
|
|
|
|
time { |
|
|
time { |
|
|
|