aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2023-03-31 19:26:53 -0300
committerEuAndreh <eu@euandre.org>2023-03-31 19:26:53 -0300
commit49787ab49be82ce3ed1527b662d022bed3e7c8b9 (patch)
treeb1bf177b48f636c3138d84bcfcf1b7c868c98f17
parentRelease v0.3.0 (diff)
downloadremembering-49787ab49be82ce3ed1527b662d022bed3e7c8b9.tar.gz
remembering-49787ab49be82ce3ed1527b662d022bed3e7c8b9.tar.xz
Do not depend on m4 for anything
-rwxr-xr-xaux/lib.sh15
-rwxr-xr-xtests/cli-opts.sh68
-rwxr-xr-xtests/lib.sh15
-rwxr-xr-xtests/ranking.sh16
4 files changed, 54 insertions, 60 deletions
diff --git a/aux/lib.sh b/aux/lib.sh
index d64409a..52f1315 100755
--- a/aux/lib.sh
+++ b/aux/lib.sh
@@ -5,26 +5,23 @@
#
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/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 \