diff options
author | EuAndreh <eu@euandre.org> | 2021-07-15 14:56:58 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2021-07-15 15:22:12 -0300 |
commit | 42354876de823f52a431eac900d360c074c6198d (patch) | |
tree | 0b640a85a4375d51c01b9f05937eb562e776a5bf /tests/tests-lib.sh | |
parent | TODOs.md: Add #task-f4807694-2187-5cb5-115e-c5970a052f1f (diff) | |
download | git-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 'tests/tests-lib.sh')
-rwxr-xr-x | tests/tests-lib.sh | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/tests-lib.sh b/tests/tests-lib.sh index a3ce7dc..03edc2d 100755 --- a/tests/tests-lib.sh +++ b/tests/tests-lib.sh @@ -121,3 +121,20 @@ uuid() { head -1 | \ awk '{OFS="-"; print $2$3,$4,$5,$6,$7$8$9}' } + +tmpname() { + echo 'mkstemp(template)' | m4 -D template="${TMPDIR:-/tmp}/m4-tmpname." +} + +mkstemp() { + name="$(tmpname)" + touch "$name" + echo "$name" +} + +mkdtemp() { + name="$(tmpname)" + rm -f "$name" + mkdir "$name" + echo "$name" +} |