Build symbol-test with make instead of hardcoding in symbol-hiding.

If symbol-test is built in symbol-hiding with hardcoded g++ invokation,
it's not so easy to pass $(srcdir) which is required to find notmuch.h
when srcdir and builddir are separate directories.
This commit is contained in:
Amadeusz Żołnowski 2011-11-26 22:14:20 +01:00 committed by David Bremner
parent ac8576de63
commit 945196d79b
4 changed files with 8 additions and 5 deletions

1
test/.gitignore vendored
View file

@ -1,4 +1,5 @@
test-results
corpus.mail
smtp-dummy
symbol-test
tmp.*

View file

@ -11,10 +11,13 @@ smtp_dummy_modules = $(smtp_dummy_srcs:.c=.o)
$(dir)/smtp-dummy: $(smtp_dummy_modules)
$(call quiet,CC) $^ -o $@
$(dir)/symbol-test: $(dir)/symbol-test.o
$(call quiet,CC) $^ -o $@ -Llib -lnotmuch -lxapian
.PHONY: test check
test: all $(dir)/smtp-dummy
test: all $(dir)/smtp-dummy $(dir)/symbol-test
@${dir}/notmuch-test $(OPTIONS)
check: test
CLEAN := $(CLEAN) $(dir)/smtp-dummy $(dir)/smtp-dummy.o
CLEAN := $(CLEAN) $(dir)/smtp-dummy $(dir)/smtp-dummy.o $(dir)/symbol-test $(dir)/symbol-test.o

View file

@ -54,7 +54,7 @@ test_begin_subtest 'Ensure that all available tests will be run by notmuch-test'
eval $(sed -n -e '/^TESTS="$/,/^"$/p' $TEST_DIRECTORY/notmuch-test)
tests_in_suite=$(for i in $TESTS; do echo $i; done | sort)
available=$(find "$TEST_DIRECTORY" -maxdepth 1 -type f -executable -printf '%f\n' | \
sed -r -e "/^(aggregate-results.sh|notmuch-test|smtp-dummy|test-verbose)$/d" | \
sed -r -e "/^(aggregate-results.sh|notmuch-test|smtp-dummy|test-verbose|symbol-test)$/d" | \
sort)
test_expect_equal "$tests_in_suite" "$available"

View file

@ -12,13 +12,12 @@ test_description='exception symbol hiding'
. ./test-lib.sh
run_test(){
result=$(LD_LIBRARY_PATH=$TEST_DIRECTORY/../lib ./symbol-test 2>&1)
result=$(LD_LIBRARY_PATH=$TEST_DIRECTORY/../lib $TEST_DIRECTORY/symbol-test 2>&1)
}
output="A Xapian exception occurred opening database: Couldn't stat 'fakedb/.notmuch/xapian'
caught No chert database found at path \`./nonexistant'"
g++ -o symbol-test -I$TEST_DIRECTORY/../lib $TEST_DIRECTORY/symbol-test.cc -L$TEST_DIRECTORY/../lib -lnotmuch -lxapian
mkdir -p fakedb/.notmuch
test_expect_success 'running test' run_test
test_begin_subtest 'checking output'