3 #include <boost/scoped_ptr.hpp>
4 #include <gtest/gtest.h>
5 #include "common/config_fwd.h"
9 class StoreTestFixture
: virtual public ::testing::Test
{
10 const std::string type
;
11 const std::string data_dir
;
13 std::stack
<std::pair
<std::string
, std::string
>> saved_settings
;
14 ConfigProxy
* conf
= nullptr;
16 std::string orig_death_test_style
;
19 boost::scoped_ptr
<ObjectStore
> store
;
20 ObjectStore::CollectionHandle ch
;
22 explicit StoreTestFixture(const std::string
& type
)
23 : type(type
), data_dir(type
+ ".test_temp_dir")
26 void SetUp() override
;
27 void TearDown() override
;
28 void SetDeathTestStyle(const char* new_style
) {
29 if (orig_death_test_style
.empty()) {
30 orig_death_test_style
= ::testing::FLAGS_gtest_death_test_style
;
32 ::testing::FLAGS_gtest_death_test_style
= new_style
;
35 void SetVal(ConfigProxy
& conf
, const char* key
, const char* val
);
36 struct SettingsBookmark
{
40 SettingsBookmark(StoreTestFixture
& _s
, size_t p
) : s(_s
), pos(p
)
47 SettingsBookmark
BookmarkSettings() {
48 return SettingsBookmark(*this, saved_settings
.size());
50 void PopSettings(size_t);