xapian-core  2.0.0
apitest.h
Go to the documentation of this file.
1 
4 /* Copyright (C) 2007,2009,2011,2018 Olly Betts
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, see
18  * <https://www.gnu.org/licenses/>.
19  */
20 
21 #ifndef XAPIAN_INCLUDED_APITEST_H
22 #define XAPIAN_INCLUDED_APITEST_H
23 
24 #include <xapian.h>
25 
26 #include "testsuite.h"
27 
28 std::string get_dbtype();
29 
30 Xapian::Database get_database(const std::string &db);
31 
32 Xapian::Database get_database(const std::string &db1, const std::string &db2);
33 
34 Xapian::Database get_database(const std::string &db,
36  const std::string &),
37  const std::string &arg = std::string());
38 
39 std::string get_database_path(const std::string &db);
40 
41 std::string get_database_path(const std::string &db,
43  const std::string &),
44  const std::string &arg = std::string());
45 
46 Xapian::WritableDatabase get_writable_database(const std::string &db = std::string());
47 
48 Xapian::WritableDatabase get_named_writable_database(const std::string &name, const std::string &source = std::string());
49 
50 std::string get_named_writable_database_path(const std::string &name);
51 
52 std::string get_compaction_output_path(const std::string& name);
53 
54 Xapian::Database get_remote_database(const std::string& db,
55  unsigned timeout,
56  int* port_ptr = nullptr);
57 
63 void kill_remote(const Xapian::Database& db);
64 
66 
68 
69 // Skip the test for any backend not of the specified type.
70 //
71 // More precisely, this skips the test for any backend for which the
72 // get_dbtype() function does not return a string starting with backend_prefix.
73 // This allows backends like "multi_glass" to be covered by specifying "multi".
74 void skip_test_unless_backend(const std::string & backend_prefix);
75 
76 // Skip the test for any backend of the specified type.
77 //
78 // More precisely, this skips the test for any backend for which the
79 // get_dbtype() function returns a string starting with backend_prefix. This
80 // allows backends like "multi_glass" to be covered by specifying "multi".
81 void skip_test_for_backend(const std::string & backend_prefix);
82 
83 #define SKIP_TEST_UNLESS_BACKEND(B) skip_test_unless_backend(B)
84 #define SKIP_TEST_FOR_BACKEND(B) skip_test_for_backend(B)
85 
86 void XFAIL_FOR_BACKEND(const std::string& backend_prefix,
87  const char* msg);
88 
89 #endif // XAPIAN_INCLUDED_APITEST_H
std::string get_dbtype()
Definition: apitest.cc:41
Xapian::WritableDatabase get_writable_database(const std::string &db=std::string())
Definition: apitest.cc:86
Xapian::Database get_writable_database_as_database()
Definition: apitest.cc:126
void skip_test_for_backend(const std::string &backend_prefix)
Definition: apitest.cc:146
std::string get_database_path(const std::string &db)
Definition: apitest.cc:71
void skip_test_unless_backend(const std::string &backend_prefix)
Definition: apitest.cc:138
std::string get_named_writable_database_path(const std::string &name)
Definition: apitest.cc:98
Xapian::WritableDatabase get_writable_database_again()
Definition: apitest.cc:132
std::string get_compaction_output_path(const std::string &name)
Definition: apitest.cc:104
Xapian::WritableDatabase get_named_writable_database(const std::string &name, const std::string &source=std::string())
Definition: apitest.cc:92
void kill_remote(const Xapian::Database &db)
Kill the server associated with remote database db.
Definition: apitest.cc:120
Xapian::Database get_remote_database(const std::string &db, unsigned timeout, int *port_ptr=nullptr)
Xapian::Database get_database(const std::string &db)
Definition: apitest.cc:47
void XFAIL_FOR_BACKEND(const std::string &backend_prefix, const char *msg)
Definition: apitest.cc:154
An indexed database of documents.
Definition: database.h:75
This class provides read/write access to a database.
Definition: database.h:964
static mt19937 gen
Definition: soaktest.cc:36
Definition: header.h:215
a generic test suite engine
Public interfaces for the Xapian library.