xapian-core  1.4.25
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, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
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, unsigned timeout);
55 
57 
59 
60 // Skip the test for any backend not of the specified type.
61 //
62 // More precisely, this skips the test for any backend for which the
63 // get_dbtype() function does not return a string starting with backend_prefix.
64 // This allows backends like "multi_chert" to be covered by specifying "multi".
65 void skip_test_unless_backend(const std::string & backend_prefix);
66 
67 // Skip the test for any backend of the specified type.
68 //
69 // More precisely, this skips the test for any backend for which the
70 // get_dbtype() function returns a string starting with backend_prefix. This
71 // allows backends like "multi_chert" to be covered by specifying "multi".
72 void skip_test_for_backend(const std::string & backend_prefix);
73 
74 #define SKIP_TEST_UNLESS_BACKEND(B) skip_test_unless_backend(B)
75 #define SKIP_TEST_FOR_BACKEND(B) skip_test_for_backend(B)
76 
77 void XFAIL_FOR_BACKEND(const std::string& backend_prefix,
78  const char* msg);
79 
80 #endif // XAPIAN_INCLUDED_APITEST_H
std::string get_database_path(const std::string &db)
Definition: apitest.cc:72
This class is used to access a database, or a group of databases.
Definition: database.h:68
unsigned timeout
A timeout value in milliseconds.
Definition: types.h:100
std::string get_compaction_output_path(const std::string &name)
Definition: apitest.cc:105
Xapian::WritableDatabase get_writable_database_again()
Definition: apitest.cc:125
a generic test suite engine
void XFAIL_FOR_BACKEND(const std::string &backend_prefix, const char *msg)
Definition: apitest.cc:147
void skip_test_for_backend(const std::string &backend_prefix)
Definition: apitest.cc:139
This class provides read/write access to a database.
Definition: database.h:789
Public interfaces for the Xapian library.
Xapian::Database get_remote_database(const std::string &db, unsigned timeout)
static mt19937 gen
Definition: soaktest.cc:37
std::string get_named_writable_database_path(const std::string &name)
Definition: apitest.cc:99
Xapian::WritableDatabase get_writable_database(const std::string &db=std::string())
Definition: apitest.cc:87
std::string get_dbtype()
Definition: apitest.cc:42
Xapian::WritableDatabase get_named_writable_database(const std::string &name, const std::string &source=std::string())
Definition: apitest.cc:93
void skip_test_unless_backend(const std::string &backend_prefix)
Definition: apitest.cc:131
Definition: header.h:151
Xapian::Database get_database(const std::string &db)
Definition: apitest.cc:48
Xapian::Database get_writable_database_as_database()
Definition: apitest.cc:119