From 42354876de823f52a431eac900d360c074c6198d Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Thu, 15 Jul 2021 14:56:58 -0300 Subject: 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. --- tests/tests-lib.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'tests/tests-lib.sh') 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" +} -- cgit v1.2.3