diff options
Diffstat (limited to '')
-rwxr-xr-x | tests/cli-opts.sh | 68 | ||||
-rwxr-xr-x | tests/lib.sh | 15 | ||||
-rwxr-xr-x | tests/ranking.sh | 16 |
3 files changed, 48 insertions, 51 deletions
diff --git a/tests/cli-opts.sh b/tests/cli-opts.sh index ebaf18e..83a5bfc 100755 --- a/tests/cli-opts.sh +++ b/tests/cli-opts.sh @@ -8,8 +8,8 @@ export XDG_DATA_HOME="$PWD/tests/test-profiles" test_unsupported_long_flags() { testing 'unsupported long flags' N="$LINENO" - OUT="$(mktemp)" - ERR="$(mktemp)" + OUT="$(mkstemp)" + ERR="$(mkstemp)" ./src/remembering --unknown-long-flag 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 2 @@ -20,8 +20,8 @@ test_unsupported_long_flags() { test_missing_required_flags() { testing 'missing required flags' N="$LINENO" - OUT="$(mktemp)" - ERR="$(mktemp)" + OUT="$(mkstemp)" + ERR="$(mkstemp)" ./src/remembering -a something -b else 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 2 @@ -33,16 +33,16 @@ test_single_required_flag() { testing 'single required flag' N="$LINENO" - OUT="$(mktemp)" - ERR="$(mktemp)" + OUT="$(mkstemp)" + ERR="$(mkstemp)" ./src/remembering -p valid-test-profile 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 2 assert_usage "$ERR" N="$LINENO" - OUT="$(mktemp)" - ERR="$(mktemp)" + OUT="$(mkstemp)" + ERR="$(mkstemp)" ./src/remembering -c 'head -n' 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 2 @@ -55,24 +55,24 @@ test_flags_without_required_argument() { testing 'flags without required argument' N="$LINENO" - OUT="$(mktemp)" - ERR="$(mktemp)" + OUT="$(mkstemp)" + ERR="$(mkstemp)" ./src/remembering -pc 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 2 assert_usage "$ERR" N="$LINENO" - OUT="$(mktemp)" - ERR="$(mktemp)" + OUT="$(mkstemp)" + ERR="$(mkstemp)" ./src/remembering -cp 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 2 assert_usage "$ERR" N="$LINENO" - OUT="$(mktemp)" - ERR="$(mktemp)" + OUT="$(mkstemp)" + ERR="$(mkstemp)" ./src/remembering -p -c 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 2 @@ -84,8 +84,8 @@ test_flags_without_required_argument() { test_valid_options() { testing 'valid options' N="$LINENO" - OUT="$(mktemp)" - ERR="$(mktemp)" + OUT="$(mkstemp)" + ERR="$(mkstemp)" printf 'a\nb\nc\n' | \ ./src/remembering \ -p "always-unique-$(uuid)" \ @@ -102,8 +102,8 @@ test_help_flags() { testing 'help flags' N="$LINENO" - OUT="$(mktemp)" - ERR="$(mktemp)" + OUT="$(mkstemp)" + ERR="$(mkstemp)" ./src/remembering -h 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 @@ -111,8 +111,8 @@ test_help_flags() { assert_usage "$OUT" N="$LINENO" - OUT="$(mktemp)" - ERR="$(mktemp)" + OUT="$(mkstemp)" + ERR="$(mkstemp)" ./src/remembering --help 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 @@ -120,8 +120,8 @@ test_help_flags() { assert_usage "$OUT" N="$LINENO" - OUT="$(mktemp)" - ERR="$(mktemp)" + OUT="$(mkstemp)" + ERR="$(mkstemp)" ./src/remembering -p profile -c command --help 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 @@ -129,8 +129,8 @@ test_help_flags() { assert_usage "$OUT" N="$LINENO" - OUT="$(mktemp)" - ERR="$(mktemp)" + OUT="$(mkstemp)" + ERR="$(mkstemp)" ./src/remembering --help -p profile -c command 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 @@ -145,8 +145,8 @@ test_version_flags() { REGEX='^remembering [0-9\.]+ [0-9-]+$' N="$LINENO" - OUT="$(mktemp)" - ERR="$(mktemp)" + OUT="$(mkstemp)" + ERR="$(mkstemp)" ./src/remembering -V 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 @@ -154,8 +154,8 @@ test_version_flags() { assert_grep_stdout "$REGEX" N="$LINENO" - OUT="$(mktemp)" - ERR="$(mktemp)" + OUT="$(mkstemp)" + ERR="$(mkstemp)" ./src/remembering --version 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 @@ -169,8 +169,8 @@ test_environment_variables_and_precedence() { testing 'environment variables and precedence' N="$LINENO" - OUT="$(mktemp)" - ERR="$(mktemp)" + OUT="$(mkstemp)" + ERR="$(mkstemp)" PROFILE='environment-variables-xdg' XDG="$PWD/tests/test-profiles/xdg-test-$(uuid)" printf 'a\n' | \ @@ -185,8 +185,8 @@ test_environment_variables_and_precedence() { assert_stream "\$XDG PROFILE" "$XDG/remembering/$PROFILE" '1 profile a' N="$LINENO" - OUT="$(mktemp)" - ERR="$(mktemp)" + OUT="$(mkstemp)" + ERR="$(mkstemp)" PROFILE='environment-variables-home' HHOME="$PWD/tests/test-profiles/home-test-$(uuid)" printf 'b\n' | \ @@ -201,8 +201,8 @@ test_environment_variables_and_precedence() { assert_stream "\$HHOME PROFILE" "$HHOME/.local/share/remembering/$PROFILE" '1 profile b' N="$LINENO" - OUT="$(mktemp)" - ERR="$(mktemp)" + OUT="$(mkstemp)" + ERR="$(mkstemp)" PROFILE='xdg-supersedes-home' HHOME="$PWD/tests/test-profiles/home-wins-over-xdg-test-$(uuid)" XDG="$PWD/tests/test-profiles/xdg-wins-over-home-test-$(uuid)" diff --git a/tests/lib.sh b/tests/lib.sh index 527e645..d144bef 100755 --- a/tests/lib.sh +++ b/tests/lib.sh @@ -119,26 +119,23 @@ test_ok() { } uuid() { - # Taken from: - # https://serverfault.com/a/799198 od -xN20 /dev/urandom | - head -1 | + head -n1 | awk '{OFS="-"; print $2$3,$4,$5,$6,$7$8$9}' } tmpname() { - echo 'mkstemp(template)' | m4 -D template="${TMPDIR:-/tmp}/m4-tmpname." + printf '%s/uuid-tmpname with spaces.%s' "${TMPDIR:-/tmp}" "$(uuid)" } mkstemp() { name="$(tmpname)" - touch "$name" - echo "$name" + touch -- "$name" + printf '%s' "$name" } mkdtemp() { name="$(tmpname)" - rm -f "$name" - mkdir "$name" - echo "$name" + mkdir -- "$name" + printf '%s' "$name" } diff --git a/tests/ranking.sh b/tests/ranking.sh index ea4365d..74bf429 100755 --- a/tests/ranking.sh +++ b/tests/ranking.sh @@ -33,8 +33,8 @@ y z' pick_x() { - OUT="$(mktemp)" - ERR="$(mktemp)" + OUT="$(mkstemp)" + ERR="$(mkstemp)" PICK="$1" echo "${2:-$INPUT}" | \ @@ -78,8 +78,8 @@ assert_profile() { test_picking_first_makes_it_be_always_first() { testing 'picking first makes it be always first' N="$LINENO" - OUT="$(mktemp)" - ERR="$(mktemp)" + OUT="$(mkstemp)" + ERR="$(mkstemp)" PROFILE="always-picks-first-$(uuid)" for _ in $(seq 10); do printf 'always-picked\nnever-picked\n' | \ @@ -188,8 +188,8 @@ s' test_pick_inexisting_value() { testing 'pick inexisting value' N="$LINENO" - OUT="$(mktemp)" - ERR="$(mktemp)" + OUT="$(mkstemp)" + ERR="$(mkstemp)" PROFILE="pick-inexisting-value-$(uuid)" echo '0 profile a 0 profile b @@ -273,8 +273,8 @@ test_stdin_is_empty() { N="$LINENO" PROFILE="stdin-is-empty-$(uuid)" echo "$BASE_PROFILE" > "$XDG_DATA_HOME/remembering/$PROFILE" - OUT="$(mktemp)" - ERR="$(mktemp)" + OUT="$(mkstemp)" + ERR="$(mkstemp)" printf '' | \ ./src/remembering \ |