From 9ff2e3088d04a069b786f30a0fd86bccd7c0686e Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Mon, 28 Jun 2021 07:22:55 -0300 Subject: git mv tests/tests-lib.sh tests/lib.sh --- tests/cli-opts.sh | 2 +- tests/install-uninstall.sh | 2 +- tests/lib.sh | 123 +++++++++++++++++++++++++++++++++++++++++++++ tests/ranking.sh | 2 +- tests/signals.sh | 2 +- tests/tests-lib.sh | 123 --------------------------------------------- 6 files changed, 127 insertions(+), 127 deletions(-) create mode 100755 tests/lib.sh delete mode 100755 tests/tests-lib.sh diff --git a/tests/cli-opts.sh b/tests/cli-opts.sh index 5dbd1a6..48020e2 100755 --- a/tests/cli-opts.sh +++ b/tests/cli-opts.sh @@ -1,7 +1,7 @@ #!/bin/sh set -u -. tests/tests-lib.sh +. tests/lib.sh export XDG_DATA_HOME="$PWD/tests/test-profiles" diff --git a/tests/install-uninstall.sh b/tests/install-uninstall.sh index 90d75eb..267382f 100755 --- a/tests/install-uninstall.sh +++ b/tests/install-uninstall.sh @@ -1,7 +1,7 @@ #!/bin/sh set -u -. tests/tests-lib.sh +. tests/lib.sh TEST_DESTDIR="$PWD/tests/destdirs/$(uuid)" PATH="$TEST_DESTDIR/usr/local/bin:$PATH" diff --git a/tests/lib.sh b/tests/lib.sh new file mode 100755 index 0000000..76f22e3 --- /dev/null +++ b/tests/lib.sh @@ -0,0 +1,123 @@ +#!/bin/sh + +end="\033[0m" +red="\033[0;31m" +green="\033[0;32m" +yellow="\033[0;33m" + +N= +OUT= +ERR= +STATUS= + +ERROR() { + # shellcheck disable=2059 + printf "${red}ERROR${end}" +} + +print_debug_info() { + printf 'LINENO: %s\nOUT: %s\n%s: %s\n' "$N" "$OUT" "$(ERROR)" "$ERR" >&2 +} + +assert_status() { + if [ "$STATUS" != "$1" ]; then + printf '\n%s: Bad status.\n\nexpected: %s\ngot: %s\n' \ + "$(ERROR)" "$1" "$STATUS" >&2 + print_debug_info + exit 1 + fi +} + +assert_usage() { + if ! grep -Fq 'Usage' "$1"; then + echo 'Expected to find "Usage" text, it was missing:' >&2 + cat "$1" >&2 + print_debug_info + exit 1 + fi +} + +assert_empty_stream() { + if [ -s "$2" ]; then + printf '\n%s: Expected %s (%s) to be empty, but has content:\n%s\n' \ + "$(ERROR)" "$1" "$2" "$(cat "$2")" >&2 + print_debug_info + exit 1 + fi +} + +assert_empty_stdout() { + assert_empty_stream STDOUT "$OUT" +} + +assert_empty_stderr() { + assert_empty_stream STDERR "$ERR" +} + +assert_stream() { + if [ "$(cat "$2")" != "$3" ]; then + printf '\n%s: Bad %s (%s)\n\nexpected: %s\ngot: %s\n' \ + "$(ERROR)" "$1" "$2" "$3" "$(cat "$2")" >&2 + print_debug_info + exit 1 + fi +} + +assert_stdout() { + assert_stream STDOUT "$OUT" "$1" +} + +assert_stderr() { + assert_stream STDERR "$ERR" "$1" +} + +assert_grep_stream() { + if ! grep -qE "$3" "$2"; then + printf '\n%s: Bad %s (%s)\n\ngrepping: %s\nin:\n%s\n' \ + "$(ERROR)" "$1" "$2" "$3" "$(cat "$2")" >&2 + print_debug_info + exit 1 + fi +} + +assert_grep_stdout() { + assert_grep_stream STDOUT "$OUT" "$1" +} + +assert_grep_stderr() { + assert_grep_stream STDERR "$ERR" "$1" +} + +assert_fgrep_stream() { + if ! grep -Fq -- "$3" "$2"; then + printf '\n%s: Bad %s (%s)\n\ngrepping: %s\nin:\n%s\n' \ + "$(ERROR)" "$1" "$2" "$3" "$(cat "$2")" >&2 + print_debug_info + exit 1 + fi +} + +assert_fgrep_stdout() { + assert_fgrep_stream STDOUT "$OUT" "$1" +} + +assert_fgrep_stderr() { + assert_fgrep_stream STDERR "$ERR" "$1" +} + +testing() { + printf "${yellow}testing${end}: %s..." "$1" >&2 +} + +test_ok() { + # shellcheck disable=2059 + printf " ${green}OK${end}.\n" >&2 +} + +uuid() { + # Taken from: + # https://serverfault.com/a/799198 + od -xN20 /dev/urandom | \ + head -1 | \ + awk '{OFS="-"; print $2$3,$4,$5,$6,$7$8$9}' +} diff --git a/tests/ranking.sh b/tests/ranking.sh index 8368de7..e07c594 100755 --- a/tests/ranking.sh +++ b/tests/ranking.sh @@ -1,7 +1,7 @@ #!/bin/sh set -eu -. tests/tests-lib.sh +. tests/lib.sh export XDG_DATA_HOME="$PWD/tests/test-profiles" export LANG=C.UTF-8 diff --git a/tests/signals.sh b/tests/signals.sh index 02659f8..28b2e89 100755 --- a/tests/signals.sh +++ b/tests/signals.sh @@ -1,7 +1,7 @@ #!/bin/sh set -u -. tests/tests-lib.sh +. tests/lib.sh export XDG_DATA_HOME="$PWD/tests/test-profiles" diff --git a/tests/tests-lib.sh b/tests/tests-lib.sh deleted file mode 100755 index 76f22e3..0000000 --- a/tests/tests-lib.sh +++ /dev/null @@ -1,123 +0,0 @@ -#!/bin/sh - -end="\033[0m" -red="\033[0;31m" -green="\033[0;32m" -yellow="\033[0;33m" - -N= -OUT= -ERR= -STATUS= - -ERROR() { - # shellcheck disable=2059 - printf "${red}ERROR${end}" -} - -print_debug_info() { - printf 'LINENO: %s\nOUT: %s\n%s: %s\n' "$N" "$OUT" "$(ERROR)" "$ERR" >&2 -} - -assert_status() { - if [ "$STATUS" != "$1" ]; then - printf '\n%s: Bad status.\n\nexpected: %s\ngot: %s\n' \ - "$(ERROR)" "$1" "$STATUS" >&2 - print_debug_info - exit 1 - fi -} - -assert_usage() { - if ! grep -Fq 'Usage' "$1"; then - echo 'Expected to find "Usage" text, it was missing:' >&2 - cat "$1" >&2 - print_debug_info - exit 1 - fi -} - -assert_empty_stream() { - if [ -s "$2" ]; then - printf '\n%s: Expected %s (%s) to be empty, but has content:\n%s\n' \ - "$(ERROR)" "$1" "$2" "$(cat "$2")" >&2 - print_debug_info - exit 1 - fi -} - -assert_empty_stdout() { - assert_empty_stream STDOUT "$OUT" -} - -assert_empty_stderr() { - assert_empty_stream STDERR "$ERR" -} - -assert_stream() { - if [ "$(cat "$2")" != "$3" ]; then - printf '\n%s: Bad %s (%s)\n\nexpected: %s\ngot: %s\n' \ - "$(ERROR)" "$1" "$2" "$3" "$(cat "$2")" >&2 - print_debug_info - exit 1 - fi -} - -assert_stdout() { - assert_stream STDOUT "$OUT" "$1" -} - -assert_stderr() { - assert_stream STDERR "$ERR" "$1" -} - -assert_grep_stream() { - if ! grep -qE "$3" "$2"; then - printf '\n%s: Bad %s (%s)\n\ngrepping: %s\nin:\n%s\n' \ - "$(ERROR)" "$1" "$2" "$3" "$(cat "$2")" >&2 - print_debug_info - exit 1 - fi -} - -assert_grep_stdout() { - assert_grep_stream STDOUT "$OUT" "$1" -} - -assert_grep_stderr() { - assert_grep_stream STDERR "$ERR" "$1" -} - -assert_fgrep_stream() { - if ! grep -Fq -- "$3" "$2"; then - printf '\n%s: Bad %s (%s)\n\ngrepping: %s\nin:\n%s\n' \ - "$(ERROR)" "$1" "$2" "$3" "$(cat "$2")" >&2 - print_debug_info - exit 1 - fi -} - -assert_fgrep_stdout() { - assert_fgrep_stream STDOUT "$OUT" "$1" -} - -assert_fgrep_stderr() { - assert_fgrep_stream STDERR "$ERR" "$1" -} - -testing() { - printf "${yellow}testing${end}: %s..." "$1" >&2 -} - -test_ok() { - # shellcheck disable=2059 - printf " ${green}OK${end}.\n" >&2 -} - -uuid() { - # Taken from: - # https://serverfault.com/a/799198 - od -xN20 /dev/urandom | \ - head -1 | \ - awk '{OFS="-"; print $2$3,$4,$5,$6,$7$8$9}' -} -- cgit v1.2.3