Browse Source

_stderr, _stdout, _miaou stored in tmp/

main
pvincent 2 days ago
parent
commit
2400a0a037
  1. 3
      .gitignore
  2. 9
      bin/miaou-bash
  3. 24
      test/miaou-bash.test.bash

3
.gitignore

@ -1,3 +0,0 @@
_stderr
_stdout
_miaou

9
bin/miaou-bash

@ -266,15 +266,18 @@ function on_error {
} }
function self_upgrade { function self_upgrade {
sudo -E miaou-bash "$MIAOU_BASH_DIR"/lib/self-upgrade.bash
# sudo -E miaou-bash "$MIAOU_BASH_DIR"/lib/self-upgrade.bash
. "$MIAOU_BASH_DIR"/lib/self-upgrade.bash
} }
function initiate { function initiate {
sudo -E miaou-bash "$MIAOU_BASH_DIR"/lib/initiate.bash
# sudo -E miaou-bash "$MIAOU_BASH_DIR"/lib/initiate.bash
. "$MIAOU_BASH_DIR"/lib/initiate.bash
} }
function uninstall { function uninstall {
sudo -E miaou-bash "$MIAOU_BASH_DIR"/lib/uninstall.bash
# sudo -E miaou-bash "$MIAOU_BASH_DIR"/lib/uninstall.bash
. "$MIAOU_BASH_DIR"/lib/uninstall.bash
} }
function populate_error_arrays { function populate_error_arrays {

24
test/miaou-bash.test.bash

@ -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 {

Loading…
Cancel
Save