mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
test: use source and build paths in test-lib-common.sh
Make a distinction between source and build directories. The expectation is that anyone sourcing test-lib-common.sh has sourced export-dirs.sh.
This commit is contained in:
parent
2e16b05152
commit
8e7fb88237
1 changed files with 15 additions and 28 deletions
|
@ -24,39 +24,26 @@
|
||||||
#
|
#
|
||||||
type die >/dev/null 2>&1 || die () { echo "$@" >&2; exit 1; }
|
type die >/dev/null 2>&1 || die () { echo "$@" >&2; exit 1; }
|
||||||
|
|
||||||
find_notmuch_path ()
|
if [[ -z "$NOTMUCH_SRCDIR" ]] || [[ -z "$NOTMUCH_BUILDDIR" ]]; then
|
||||||
{
|
echo "internal: srcdir or builddir not set" >&2
|
||||||
dir="$1"
|
exit 1
|
||||||
|
fi
|
||||||
while [ -n "$dir" ]; do
|
|
||||||
bin="$dir/notmuch"
|
|
||||||
if [ -x "$bin" ]; then
|
|
||||||
echo "$dir"
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
dir="$(dirname "$dir")"
|
|
||||||
if [ "$dir" = "/" ]; then
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
backup_database () {
|
backup_database () {
|
||||||
test_name=$(basename $0 .sh)
|
test_name=$(basename $0 .sh)
|
||||||
rm -rf notmuch-dir-backup."$test_name"
|
rm -rf $NOTMUCH_BUILDDIR/test/notmuch-dir-backup."$test_name"
|
||||||
cp -pR ${MAIL_DIR}/.notmuch notmuch-dir-backup."${test_name}"
|
cp -pR ${MAIL_DIR}/.notmuch $NOTMUCH_BUILDDIR/test/notmuch-dir-backup."${test_name}"
|
||||||
}
|
}
|
||||||
|
|
||||||
restore_database () {
|
restore_database () {
|
||||||
test_name=$(basename $0 .sh)
|
test_name=$(basename $0 .sh)
|
||||||
rm -rf ${MAIL_DIR}/.notmuch
|
rm -rf ${MAIL_DIR}/.notmuch
|
||||||
cp -pR notmuch-dir-backup."${test_name}" ${MAIL_DIR}/.notmuch
|
cp -pR $NOTMUCH_BUILDDIR/test/notmuch-dir-backup."${test_name}" ${MAIL_DIR}/.notmuch
|
||||||
}
|
}
|
||||||
|
|
||||||
# Test the binaries we have just built. The tests are kept in
|
# Test the binaries we have just built. The tests are kept in
|
||||||
# test/ subdirectory and are run in 'trash directory' subdirectory.
|
# test/ subdirectory and are run in 'trash directory' subdirectory.
|
||||||
TEST_DIRECTORY=$(pwd -P)
|
TEST_DIRECTORY=$NOTMUCH_BUILDDIR/test
|
||||||
notmuch_path=`find_notmuch_path "$TEST_DIRECTORY"`
|
|
||||||
|
|
||||||
# Prepend $TEST_DIRECTORY/../lib to LD_LIBRARY_PATH, to make tests work
|
# Prepend $TEST_DIRECTORY/../lib to LD_LIBRARY_PATH, to make tests work
|
||||||
# on systems where ../notmuch depends on LD_LIBRARY_PATH.
|
# on systems where ../notmuch depends on LD_LIBRARY_PATH.
|
||||||
|
@ -64,11 +51,11 @@ LD_LIBRARY_PATH=${TEST_DIRECTORY%/*}/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
|
||||||
export LD_LIBRARY_PATH
|
export LD_LIBRARY_PATH
|
||||||
|
|
||||||
# configure output
|
# configure output
|
||||||
. $notmuch_path/sh.config || exit 1
|
. "$NOTMUCH_BUILDDIR/sh.config" || exit 1
|
||||||
|
|
||||||
# load OS specifics
|
# load OS specifics
|
||||||
if [ -e ./test-lib-$PLATFORM.sh ]; then
|
if [[ -e "$NOTMUCH_SRCDIR/test/test-lib-$PLATFORM.sh" ]]; then
|
||||||
. ./test-lib-$PLATFORM.sh || exit 1
|
. "$NOTMUCH_SRCDIR/test/test-lib-$PLATFORM.sh" || exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Generate a new message in the mail directory, with a unique message
|
# Generate a new message in the mail directory, with a unique message
|
||||||
|
@ -308,12 +295,12 @@ then
|
||||||
PATH=$GIT_VALGRIND/bin:$PATH
|
PATH=$GIT_VALGRIND/bin:$PATH
|
||||||
GIT_EXEC_PATH=$GIT_VALGRIND/bin
|
GIT_EXEC_PATH=$GIT_VALGRIND/bin
|
||||||
export GIT_VALGRIND
|
export GIT_VALGRIND
|
||||||
test -n "$notmuch_path" && MANPATH="$notmuch_path/doc/_build/man"
|
test -n "$NOTMUCH_BUILDDIR" && MANPATH="$NOTMUCH_BUILDDIR/doc/_build/man"
|
||||||
else # normal case
|
else # normal case
|
||||||
if test -n "$notmuch_path"
|
if test -n "$NOTMUCH_BUILDDIR"
|
||||||
then
|
then
|
||||||
PATH="$notmuch_path:$PATH"
|
PATH="$NOTMUCH_BUILDDIR:$PATH"
|
||||||
MANPATH="$notmuch_path/doc/_build/man"
|
MANPATH="$NOTMUCH_BUILDDIR/doc/_build/man"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
export PATH MANPATH
|
export PATH MANPATH
|
||||||
|
|
Loading…
Reference in a new issue