diff options
author | P. J. McDermott <pj@pehjota.net> | 2017-07-23 12:50:46 (EDT) |
---|---|---|
committer | P. J. McDermott <pj@pehjota.net> | 2017-07-23 12:50:46 (EDT) |
commit | edbb7b4baf03059479200c98d782496dba333bbb (patch) | |
tree | dd8b029e67a8d4b573e093b2a9870956b40a7a5e | |
parent | 70ec66d3c418db2001e5d95bcf502171fb1811be (diff) |
tests/aux/init.sh: New file
-rw-r--r-- | tests/aux/init.sh | 57 | ||||
-rw-r--r-- | tests/local.mk | 3 |
2 files changed, 60 insertions, 0 deletions
diff --git a/tests/aux/init.sh b/tests/aux/init.sh new file mode 100644 index 0000000..16353a2 --- /dev/null +++ b/tests/aux/init.sh @@ -0,0 +1,57 @@ +# This file is part of the ProteanOS Archive Manager. +# +# The ProteanOS Archive Manager is free software: you can redistribute +# it and/or modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# The ProteanOS Archive Manager is distributed in the hope that it +# will be useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with the ProteanOS Archive Manager. If not, see +# <http://www.gnu.org/licenses/>. + +set -eu + +. tests/aux/defs.sh +# Defines: +# * abs_srcdir: Absolute path to tests/aux/ (used for PATH) +# * abs_top_builddir: Absolute path to top build directory (used to find +# pro-archman and make test directory) + +init() +{ + # Find pro-archman executable. + PRO_ARCHMAN="${abs_top_builddir}/pro-archman" + if ! [ -x "${PRO_ARCHMAN}" ]; then + printf 'ERROR: %s: not found\n' "${PRO_ARCHMAN}" >&2 + exit 1 + fi + + # Add aux directory in source tree to PATH for "." inclusions. + PATH="${abs_srcdir}:${PATH}" + + # Clean up, make, and change to test directory. + testdir="tests/${0##*/}" + testdir="${abs_top_builddir}/${testdir%.*}.dir/" + rm -Rf "${testdir}" + mkdir "${testdir}" + cd "${testdir}" + + # Set EXIT trap action to clean up test directory. + trap atexit EXIT + + return 0 +} + +atexit() +{ + # Clean up test directory. + cd "${abs_top_builddir}" + rm -Rf "${testdir}" +} + +init diff --git a/tests/local.mk b/tests/local.mk index 88eaec4..f633b44 100644 --- a/tests/local.mk +++ b/tests/local.mk @@ -1,2 +1,5 @@ TESTS = \ %reldir%/version.sh + +EXTRA_DIST += \ + tests/aux/init.sh |