test: use source and build paths in test-lib.sh

Make a distinction between source and build directories.
This commit is contained in:
Jani Nikula 2017-09-25 23:38:23 +03:00 committed by David Bremner
parent 1f3c114f08
commit a9894fce06

View file

@ -26,9 +26,11 @@ fi
# Make sure echo builtin does not expand backslash-escape sequences by default. # Make sure echo builtin does not expand backslash-escape sequences by default.
shopt -u xpg_echo shopt -u xpg_echo
# Ensure NOTMUCH_SRCDIR and NOTMUCH_BUILDDIR are set.
. $(dirname "$0")/export-dirs.sh || exit 1
# It appears that people try to run tests without building... # It appears that people try to run tests without building...
if ! test -x ../notmuch if [[ ! -x "$NOTMUCH_BUILDDIR/notmuch" ]]; then
then
echo >&2 'You do not seem to have built notmuch yet.' echo >&2 'You do not seem to have built notmuch yet.'
exit 1 exit 1
fi fi
@ -386,7 +388,7 @@ add_email_corpus ()
if [ -d $TEST_DIRECTORY/corpora.mail/$corpus ]; then if [ -d $TEST_DIRECTORY/corpora.mail/$corpus ]; then
cp -a $TEST_DIRECTORY/corpora.mail/$corpus ${MAIL_DIR} cp -a $TEST_DIRECTORY/corpora.mail/$corpus ${MAIL_DIR}
else else
cp -a $TEST_DIRECTORY/corpora/$corpus ${MAIL_DIR} cp -a $NOTMUCH_SRCDIR/test/corpora/$corpus ${MAIL_DIR}
notmuch new >/dev/null || die "'notmuch new' failed while adding email corpus" notmuch new >/dev/null || die "'notmuch new' failed while adding email corpus"
mkdir -p $TEST_DIRECTORY/corpora.mail mkdir -p $TEST_DIRECTORY/corpora.mail
cp -a ${MAIL_DIR} $TEST_DIRECTORY/corpora.mail/$corpus cp -a ${MAIL_DIR} $TEST_DIRECTORY/corpora.mail/$corpus
@ -935,8 +937,8 @@ export NOTMUCH_CONFIG=$NOTMUCH_CONFIG
# --load Force loading of notmuch.el and test-lib.el # --load Force loading of notmuch.el and test-lib.el
exec ${TEST_EMACS} --quick \ exec ${TEST_EMACS} --quick \
--directory "$TEST_DIRECTORY/../emacs" --load notmuch.el \ --directory "$NOTMUCH_SRCDIR/emacs" --load notmuch.el \
--directory "$TEST_DIRECTORY" --load test-lib.el \ --directory "$NOTMUCH_SRCDIR/test" --load test-lib.el \
"\$@" "\$@"
EOF EOF
chmod a+x "$TMP_DIRECTORY/run_emacs" chmod a+x "$TMP_DIRECTORY/run_emacs"
@ -951,8 +953,8 @@ test_emacs () {
test -z "$missing_dependencies" || return test -z "$missing_dependencies" || return
if [ -z "$EMACS_SERVER" ]; then if [ -z "$EMACS_SERVER" ]; then
emacs_tests="${this_test_bare}.el" emacs_tests="$NOTMUCH_SRCDIR/test/${this_test_bare}.el"
if [ -f "$TEST_DIRECTORY/$emacs_tests" ]; then if [ -f "$emacs_tests" ]; then
load_emacs_tests="--eval '(load \"$emacs_tests\")'" load_emacs_tests="--eval '(load \"$emacs_tests\")'"
else else
load_emacs_tests= load_emacs_tests=
@ -995,14 +997,14 @@ test_python() {
} }
test_ruby() { test_ruby() {
MAIL_DIR=$MAIL_DIR ruby -I $TEST_DIRECTORY/../bindings/ruby> OUTPUT MAIL_DIR=$MAIL_DIR ruby -I $NOTMUCH_SRCDIR/bindings/ruby> OUTPUT
} }
test_C () { test_C () {
exec_file="test${test_count}" exec_file="test${test_count}"
test_file="${exec_file}.c" test_file="${exec_file}.c"
cat > ${test_file} cat > ${test_file}
${TEST_CC} ${TEST_CFLAGS} -I${TEST_DIRECTORY} -I${NOTMUCH_SRCDIR}/lib -o ${exec_file} ${test_file} -L${TEST_DIRECTORY}/../lib/ -lnotmuch -ltalloc ${TEST_CC} ${TEST_CFLAGS} -I${NOTMUCH_SRCDIR}/test -I${NOTMUCH_SRCDIR}/lib -o ${exec_file} ${test_file} -L${NOTMUCH_BUILDDIR}/lib/ -lnotmuch -ltalloc
echo "== stdout ==" > OUTPUT.stdout echo "== stdout ==" > OUTPUT.stdout
echo "== stderr ==" > OUTPUT.stderr echo "== stderr ==" > OUTPUT.stderr
./${exec_file} "$@" 1>>OUTPUT.stdout 2>>OUTPUT.stderr ./${exec_file} "$@" 1>>OUTPUT.stdout 2>>OUTPUT.stderr
@ -1058,7 +1060,7 @@ test_init_ () {
} }
. ./test-lib-common.sh || exit 1 . "$NOTMUCH_SRCDIR/test/test-lib-common.sh" || exit 1
if [ "${NOTMUCH_GMIME_MAJOR}" = 3 ]; then if [ "${NOTMUCH_GMIME_MAJOR}" = 3 ]; then
test_subtest_broken_gmime_3 () { test_subtest_broken_gmime_3 () {