aboutsummaryrefslogtreecommitdiff
path: root/aux/workflow
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2021-07-15 14:56:58 -0300
committerEuAndreh <eu@euandre.org>2021-07-15 15:22:12 -0300
commit42354876de823f52a431eac900d360c074c6198d (patch)
tree0b640a85a4375d51c01b9f05937eb562e776a5bf /aux/workflow
parentTODOs.md: Add #task-f4807694-2187-5cb5-115e-c5970a052f1f (diff)
downloadgit-permalink-42354876de823f52a431eac900d360c074c6198d.tar.gz
git-permalink-42354876de823f52a431eac900d360c074c6198d.tar.xz
aux/lib.sh: Add mkstemp and mkdtemp, and copy uuid over
The tests were relying on the unspecified and non-standartized behaviour of "mktemp". Now they use "mkstemp()", a shim sh function to provide the expected behaviour, and an accompanying "mkdtemp()" function is also defined. To further decouple from specific implementations and OS-behaviours and quirks, a aux/lib.sh file containing both those functions was added. Its purpose is to also allow code under aux/ to not depend on specific behaviour. "mkdtemp()" had to be replicated in aux/ci/ci-build.sh, since it runs outside the repository.
Diffstat (limited to 'aux/workflow')
-rwxr-xr-xaux/workflow/assert-manpages.sh10
-rwxr-xr-xaux/workflow/assert-readme.sh6
-rwxr-xr-xaux/workflow/assert-spelling.sh8
3 files changed, 15 insertions, 9 deletions
diff --git a/aux/workflow/assert-manpages.sh b/aux/workflow/assert-manpages.sh
index 8a3c497..b26c7a4 100755
--- a/aux/workflow/assert-manpages.sh
+++ b/aux/workflow/assert-manpages.sh
@@ -2,6 +2,8 @@
set -eu
TLD="$(cat aux/tld.txt)"
+. aux/lib.sh
+
IN_PLACE=false
while getopts 'l:n:m:i' flag; do
case "$flag" in
@@ -36,7 +38,7 @@ assert_arg "${MAILING_LIST:-}" '-m MAILING_LIST'
assert_arg "${LANGS:-}" '-l LANGS'
-EXPECTED_EN="$(mktemp)"
+EXPECTED_EN="$(mkstemp)"
cat <<EOF | sed 's|-|\\-|g' >> "$EXPECTED_EN"
@@ -72,7 +74,7 @@ Comments and discussions
.UE .
EOF
-EXPECTED_PT="$(mktemp)"
+EXPECTED_PT="$(mkstemp)"
cat <<EOF | sed 's|-|\\-|g' >> "$EXPECTED_PT"
@@ -108,7 +110,7 @@ Comentários e discussões
.UE .
EOF
-EXPECTED_FR="$(mktemp)"
+EXPECTED_FR="$(mkstemp)"
cat <<EOF | sed 's|-|\\-|g' >> "$EXPECTED_FR"
@@ -146,7 +148,7 @@ Commentaires et discussions
.UE .
EOF
-EXPECTED_EO="$(mktemp)"
+EXPECTED_EO="$(mkstemp)"
cat <<EOF | sed 's|-|\\-|g' >> "$EXPECTED_EO"
diff --git a/aux/workflow/assert-readme.sh b/aux/workflow/assert-readme.sh
index 99ec692..843fd86 100755
--- a/aux/workflow/assert-readme.sh
+++ b/aux/workflow/assert-readme.sh
@@ -2,6 +2,8 @@
set -eu
TLD="$(cat aux/tld.txt)"
+. aux/lib.sh
+
while getopts 'n:m:' flag; do
case "$flag" in
n)
@@ -27,7 +29,7 @@ assert_arg() {
assert_arg "${PROJECT:-}" '-n PROJECT'
assert_arg "${MAILING_LIST:-}" '-m MAILING_LIST'
-EXPECTED="$(mktemp)"
+EXPECTED="$(mkstemp)"
cat <<EOF >> "$EXPECTED"
For running the extra development-only checks, run:
@@ -57,7 +59,7 @@ Send contributions to the [mailing list] via [\`git send-email\`](https://git-se
[mailing list]: https://lists.sr.ht/~euandreh/$MAILING_LIST?search=%5B$PROJECT%5D
EOF
-RELEASES_LIST="$(mktemp)"
+RELEASES_LIST="$(mkstemp)"
add_release() {
DATE="$1"
VVERSION="$2"
diff --git a/aux/workflow/assert-spelling.sh b/aux/workflow/assert-spelling.sh
index cdc6d28..f1eef6f 100755
--- a/aux/workflow/assert-spelling.sh
+++ b/aux/workflow/assert-spelling.sh
@@ -1,11 +1,13 @@
#!/bin/sh
set -eu
+. aux/lib.sh
+
sort_dicts() {
for f in po/spelling/*.txt; do
if ! LANG=POSIX sort "$f" | diff - "$f"; then
if [ "$IN_PLACE" = true ]; then
- OUT="$(mktemp)"
+ OUT="$(mkstemp)"
LANG=POSIX sort "$f" | uniq > "$OUT"
mv "$OUT" "$f"
else
@@ -57,10 +59,10 @@ get_lang() {
'
}
-ACC="$(mktemp)"
+ACC="$(mkstemp)"
for f in "$@"; do
l="$(get_lang "$f")"
- CURR_DICT="$(mktemp)"
+ CURR_DICT="$(mkstemp)"
cat po/spelling/international.txt "po/spelling/$l.txt" | sort | uniq > "$CURR_DICT"
hunspell -u3 -H -d "$l" -p "$CURR_DICT" "$f" | tee -a "$ACC" >&2
done