aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJani Nikula <jani@nikula.org>2017-09-25 23:38:22 +0300
committerDavid Bremner <david@tethera.net>2017-10-20 19:53:55 -0300
commit1f3c114f08ed636fb43adb6b7c00b4cbb7c3ab1b (patch)
tree12d477962d0afd36ff17aea217b63640a9e7f46f /test
parente1bd4f23634a88a49256c74e0780dd1dcdb852cd (diff)
test: add a script to figure out source and build directories
Expect the tests to be run somewhere in the build directory hierarchy. Allow for source and build directories to be passed through the environment.
Diffstat (limited to 'test')
-rw-r--r--test/export-dirs.sh32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/export-dirs.sh b/test/export-dirs.sh
new file mode 100644
index 00000000..0578b1e5
--- /dev/null
+++ b/test/export-dirs.sh
@@ -0,0 +1,32 @@
+# Source this script to set and export NOTMUCH_SRCDIR and
+# NOTMUCH_BUILDDIR.
+#
+# For this to work, always have current directory somewhere within the
+# build directory hierarchy, and run the script sourcing this script
+# using a path (relative or absolute) to the source directory.
+
+if [[ -z "${NOTMUCH_SRCDIR}" ]]; then
+ export NOTMUCH_SRCDIR="$(cd "$(dirname "$0")"/.. && pwd)"
+fi
+
+find_builddir()
+{
+ local dir="$1"
+
+ while [[ -n "$dir" ]] && [[ "$dir" != "/" ]]; do
+ if [[ -x "$dir/notmuch" ]] && [[ ! -d "$dir/notmuch" ]]; then
+ echo "$dir"
+ break
+ fi
+ dir="$(dirname "$dir")"
+ done
+}
+
+if [[ -z "${NOTMUCH_BUILDDIR}" ]]; then
+ export NOTMUCH_BUILDDIR="$(find_builddir "$(pwd)")"
+
+ if [[ -z "${NOTMUCH_BUILDDIR}" ]]; then
+ echo "Run tests in a subdir of built notmuch tree." >&2
+ exit 1
+ fi
+fi