00001
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef XAPIAN_INCLUDED_APITEST_H
00022 #define XAPIAN_INCLUDED_APITEST_H
00023
00024 #include <xapian.h>
00025
00026 #include "testsuite.h"
00027
00028 #define DEFINE_TESTCASE(S,COND) bool test_##S()
00029
00030 const char * get_dbtype();
00031
00032 Xapian::Database get_database(const std::string &db);
00033
00034 Xapian::Database get_database(const std::string &db1, const std::string &db2);
00035
00036 Xapian::Database get_database(const std::string &db,
00037 void (*gen)(Xapian::WritableDatabase&,
00038 const std::string &),
00039 const std::string &arg = std::string());
00040
00041 std::string get_database_path(const std::string &db);
00042
00043 std::string get_database_path(const std::string &db,
00044 void (*gen)(Xapian::WritableDatabase&,
00045 const std::string &),
00046 const std::string &arg = std::string());
00047
00048 Xapian::WritableDatabase get_writable_database(const std::string &db = "");
00049
00050 Xapian::WritableDatabase get_named_writable_database(const std::string &name, const std::string &source = "");
00051
00052 std::string get_named_writable_database_path(const std::string &name);
00053
00054 Xapian::Database get_remote_database(const std::string &db, unsigned timeout);
00055
00056 Xapian::Database get_writable_database_as_database();
00057
00058 Xapian::WritableDatabase get_writable_database_again();
00059
00060 #define SKIP_TEST_UNLESS_BACKEND(B) \
00061 if (strcmp(get_dbtype(), (B)) != 0) SKIP_TEST("Test only supported for "#B" backend"); else (void)0
00062
00063 #define SKIP_TEST_FOR_BACKEND(B) \
00064 if (strcmp(get_dbtype(), (B)) == 0) SKIP_TEST("Test not supported for "#B" backend"); else (void)0
00065
00066 #endif // XAPIAN_INCLUDED_APITEST_H