]> git.notmuchmail.org Git - notmuch/blobdiff - test/T360-symbol-hiding.sh
test: make script exit (1) if it "fails" to source (.) a file
[notmuch] / test / T360-symbol-hiding.sh
index 636ec9171a2f32a9564c55d6d2a7e16277756ff5..4ec0ea65710baba535cc7910fd3e55895f7edce6 100755 (executable)
@@ -9,24 +9,25 @@
 
 test_description='exception symbol hiding'
 
-. ./test-lib.sh
+. ./test-lib.sh || exit 1
 
-run_test(){
-    result=$(LD_LIBRARY_PATH="$TEST_DIRECTORY/../lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" $TEST_DIRECTORY/symbol-test 2>&1)
-}
+test_begin_subtest 'running test' run_test
+mkdir -p ${PWD}/fakedb/.notmuch
+( LD_LIBRARY_PATH="$TEST_DIRECTORY/../lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" \
+                $TEST_DIRECTORY/symbol-test ${PWD}/fakedb ${PWD}/nonexistent \
+                2>&1 | sed "s,${PWD},CWD,g") > OUTPUT
 
-output="A Xapian exception occurred opening database: Couldn't stat 'fakedb/.notmuch/xapian'
-caught No chert database found at path \`./nonexistant'"
-
-mkdir -p fakedb/.notmuch
-
-test_expect_success 'running test' run_test
+cat <<EOF > EXPECTED
+A Xapian exception occurred opening database: Couldn't stat 'CWD/fakedb/.notmuch/xapian'
+caught No chert database found at path \`CWD/nonexistent'
+EOF
+test_expect_equal_file EXPECTED OUTPUT
 
 test_begin_subtest 'checking output'
 test_expect_equal "$result" "$output"
 
 test_begin_subtest 'comparing existing to exported symbols'
-objdump -t $TEST_DIRECTORY/../lib/*.o | awk '$4 == ".text" && $6 ~ "^notmuch" {print $6}' | sort | uniq > ACTUAL
+nm -P $TEST_DIRECTORY/../lib/libnotmuch.so | awk '$2 == "T" && $1 ~ "^notmuch" {print $1}' | sort | uniq > ACTUAL
 sed -n 's/[[:blank:]]*\(notmuch_[^;]*\);/\1/p' $TEST_DIRECTORY/../notmuch.sym | sort | uniq > EXPORTED
 test_expect_equal_file EXPORTED ACTUAL