]> rtime.felk.cvut.cz Git - notmuch.git/blobdiff - test/test-lib.sh
test: set LD_LIBRARY_PATH early and keep its old contents
[notmuch.git] / test / test-lib.sh
index 29ec0083e4170e1053bd6e94a56c52c3a4274cb6..b0ee253c94426290373711dbbe946ed7f9935ff6 100644 (file)
@@ -223,15 +223,15 @@ test_fixed=0
 test_broken=0
 test_success=0
 
-_die_common () {
+_exit_common () {
        code=$?
        trap - EXIT
        set +ex
        rm -rf "$TEST_TMPDIR"
 }
 
-die () {
-       _die_common
+trap_exit () {
+       _exit_common
        if test -n "$GIT_EXIT_OK"
        then
                exit $code
@@ -245,17 +245,27 @@ die () {
        fi
 }
 
-die_signal () {
-       _die_common
+trap_signal () {
+       _exit_common
        echo >&6 "FATAL: $0: interrupted by signal" $((code - 128))
        exit $code
 }
 
+die () {
+       _exit_common
+       exec >&6
+       say_color error '%-6s' FATAL
+       echo " $*"
+       echo
+       echo "Unexpected exit while executing $0."
+       exit 1
+}
+
 GIT_EXIT_OK=
 # Note: TEST_TMPDIR *NOT* exported!
 TEST_TMPDIR=$(mktemp -d "${TMPDIR:-/tmp}/notmuch-test-$$.XXXXXX")
-trap 'die' EXIT
-trap 'die_signal' HUP INT TERM
+trap 'trap_exit' EXIT
+trap 'trap_signal' HUP INT TERM
 
 test_decode_color () {
        sed     -e 's/.\[1m/<WHITE>/g' \
@@ -544,7 +554,7 @@ add_email_corpus ()
        cp -a $TEST_DIRECTORY/corpus.mail ${MAIL_DIR}
     else
        cp -a $TEST_DIRECTORY/corpus ${MAIL_DIR}
-       notmuch new >/dev/null
+       notmuch new >/dev/null || die "'notmuch new' failed while adding email corpus"
        cp -a ${MAIL_DIR} $TEST_DIRECTORY/corpus.mail
     fi
 }
@@ -1182,7 +1192,6 @@ test_emacs () {
 }
 
 test_python() {
-       export LD_LIBRARY_PATH=$TEST_DIRECTORY/../lib
        export PYTHONPATH=$TEST_DIRECTORY/../bindings/python
 
        (echo "import sys; _orig_stdout=sys.stdout; sys.stdout=open('OUTPUT', 'w')"; cat) \
@@ -1190,7 +1199,6 @@ test_python() {
 }
 
 test_ruby() {
-    export LD_LIBRARY_PATH=$TEST_DIRECTORY/../lib
     MAIL_DIR=$MAIL_DIR ruby -I $TEST_DIRECTORY/../bindings/ruby> OUTPUT
 }
 
@@ -1198,7 +1206,6 @@ test_C () {
     exec_file="test${test_count}"
     test_file="${exec_file}.c"
     cat > ${test_file}
-    export LD_LIBRARY_PATH=${TEST_DIRECTORY}/../lib
     ${TEST_CC} ${TEST_CFLAGS} -I${TEST_DIRECTORY}/../lib -o ${exec_file} ${test_file} -L${TEST_DIRECTORY}/../lib/ -lnotmuch -ltalloc
     echo "== stdout ==" > OUTPUT.stdout
     echo "== stderr ==" > OUTPUT.stderr