diff options
author | EuAndreh <eu@euandre.org> | 2021-01-24 01:51:14 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2021-01-24 01:51:14 -0300 |
commit | 8c5882de565aeaecc76362c9227f844266e762bf (patch) | |
tree | 4f248b5d9627ebd94841c3b748ebfe46dc4c4b3c | |
parent | cli-opts.sh: Break long line (diff) | |
download | remembering-8c5882de565aeaecc76362c9227f844266e762bf.tar.gz remembering-8c5882de565aeaecc76362c9227f844266e762bf.tar.xz |
Add test to for help flags
-rwxr-xr-x | tests/cli-opts.sh | 43 | ||||
-rwxr-xr-x | tests/lib.sh | 8 |
2 files changed, 37 insertions, 14 deletions
diff --git a/tests/cli-opts.sh b/tests/cli-opts.sh index 7c177df..0b6090a 100755 --- a/tests/cli-opts.sh +++ b/tests/cli-opts.sh @@ -4,8 +4,8 @@ set -u . tests/lib.sh assert_usage() { - if ! grep -Fq 'Usage' "$ERR"; then - echo 'Expected to find "Usage" text, it was missing. STDERR was:' + if ! grep -Fq 'Usage' "$1"; then + echo 'Expected to find "Usage" text, it was missing:' cat "$ERR" exit 1 fi @@ -17,7 +17,7 @@ test_unsupported_long_flags() { sh remembering --unknown-long-flag 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 2 - assert_usage + assert_usage "$ERR" } test_missing_required_flags() { @@ -26,7 +26,7 @@ test_missing_required_flags() { sh remembering -a something -b else 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 2 - assert_usage + assert_usage "$ERR" } test_single_required_flag() { @@ -35,14 +35,14 @@ test_single_required_flag() { sh remembering -p valid-test-profile 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 2 - assert_usage + assert_usage "$ERR" OUT="$(mktemp)" ERR="$(mktemp)" sh remembering -c 'head -n' 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 2 - assert_usage + assert_usage "$ERR" } test_flags_without_required_argument() { @@ -51,21 +51,21 @@ test_flags_without_required_argument() { sh remembering -pc 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 2 - assert_usage + assert_usage "$ERR" OUT="$(mktemp)" ERR="$(mktemp)" sh remembering -cp 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 2 - assert_usage + assert_usage "$ERR" OUT="$(mktemp)" ERR="$(mktemp)" sh remembering -p -c 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 2 - assert_usage + assert_usage "$ERR" } test_valid_options() { @@ -78,16 +78,30 @@ test_valid_options() { 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 + assert_empty_stderr if [ "$(cat "$OUT")" != 'a' ]; then echo "Expected STDOUT ($OUT) to be 'a', but was:" cat "$OUT" exit 1 fi - if [ "$(cat "$ERR")" != '' ]; then - echo "Expected STDERR ($ERR) to be empty, but has content:" - cat "$ERR" - exit 1 - fi +} + +test_help_flags() { + OUT="$(mktemp)" + ERR="$(mktemp)" + sh remembering -h 1>"$OUT" 2>"$ERR" + STATUS=$? + assert_status 0 + assert_empty_stderr + assert_usage "$OUT" + + OUT="$(mktemp)" + ERR="$(mktemp)" + sh remembering --help 1>"$OUT" 2>"$ERR" + STATUS=$? + assert_status 0 + assert_empty_stderr + assert_usage "$OUT" } test_unsupported_long_flags @@ -96,3 +110,4 @@ test_missing_required_flags test_single_required_flag test_flags_without_required_argument test_valid_options +test_help_flags diff --git a/tests/lib.sh b/tests/lib.sh index fb50d8a..901ceb9 100755 --- a/tests/lib.sh +++ b/tests/lib.sh @@ -12,3 +12,11 @@ assert_status() { exit 1 fi } + +assert_empty_stderr() { + if [ "$(cat "$ERR")" != '' ]; then + echo "Expected STDERR ($ERR) to be empty, but has content:" + cat "$ERR" + exit 1 + fi +} |