notmuch/test/symbol-test.cc
David Bremner fba968dbfa tests: add a test for symbol hiding side effects
The worry here is that a binary linking with libnotmuch might lose
access to Xapian::Error symbols because libnotmuch hides them.

We are careful here to create ./fakedb/.notmuch in order to trigger a
Xapian exception, and not just a missing file check.

Thanks to jrollins and amddragon for suggestions.
(cherry picked from commit 66f37f5f6864a988f94ddb893e3a176af57f6c8e)
2011-06-23 07:05:25 -03:00

17 lines
418 B
C++

#include <stdio.h>
#include <xapian.h>
#include <notmuch.h>
main (int argc, char **argv){
notmuch_database_t *notmuch
= notmuch_database_open ("fakedb",
NOTMUCH_DATABASE_MODE_READ_ONLY);
try{
(void)new Xapian::WritableDatabase ("./nonexistant", Xapian::DB_OPEN);
} catch (const Xapian::Error &error) {
printf("caught %s\n",error.get_msg().c_str());
return 0;
}
return 1;
}