Commit 9eed34b6 authored by peria's avatar peria Committed by Commit bot

[SyncFS] Test MetadataDatabaseTest using both on-memory and on-disk indexes

BUG=409743
TEST=unit_tests --gtest_filter="MetadataDatabaseTest*"

Review URL: https://codereview.chromium.org/552723002

Cr-Commit-Position: refs/heads/master@{#295951}
parent f57e3cf2
...@@ -523,6 +523,16 @@ scoped_ptr<MetadataDatabase> MetadataDatabase::Create( ...@@ -523,6 +523,16 @@ scoped_ptr<MetadataDatabase> MetadataDatabase::Create(
SyncStatusCode* status_out) { SyncStatusCode* status_out) {
bool enable_on_disk_index = !CommandLine::ForCurrentProcess()->HasSwitch( bool enable_on_disk_index = !CommandLine::ForCurrentProcess()->HasSwitch(
kDisableMetadataDatabaseOnDisk); kDisableMetadataDatabaseOnDisk);
return CreateInternal(database_path, env_override, enable_on_disk_index,
status_out);
}
// static
scoped_ptr<MetadataDatabase> MetadataDatabase::CreateInternal(
const base::FilePath& database_path,
leveldb::Env* env_override,
bool enable_on_disk_index,
SyncStatusCode* status_out) {
scoped_ptr<MetadataDatabase> metadata_database( scoped_ptr<MetadataDatabase> metadata_database(
new MetadataDatabase(database_path, new MetadataDatabase(database_path,
enable_on_disk_index, enable_on_disk_index,
......
...@@ -125,6 +125,11 @@ class MetadataDatabase { ...@@ -125,6 +125,11 @@ class MetadataDatabase {
const base::FilePath& database_path, const base::FilePath& database_path,
leveldb::Env* env_override, leveldb::Env* env_override,
SyncStatusCode* status); SyncStatusCode* status);
static scoped_ptr<MetadataDatabase> CreateInternal(
const base::FilePath& database_path,
leveldb::Env* env_override,
bool enable_on_disk_index,
SyncStatusCode* status);
static SyncStatusCode CreateForTesting( static SyncStatusCode CreateForTesting(
scoped_ptr<LevelDBWrapper> db, scoped_ptr<LevelDBWrapper> db,
bool enable_on_disk_index, bool enable_on_disk_index,
......
...@@ -169,7 +169,7 @@ base::FilePath CreateNormalizedPath(const base::FilePath::StringType& path) { ...@@ -169,7 +169,7 @@ base::FilePath CreateNormalizedPath(const base::FilePath::StringType& path) {
} // namespace } // namespace
class MetadataDatabaseTest : public testing::Test { class MetadataDatabaseTest : public testing::TestWithParam<bool> {
public: public:
MetadataDatabaseTest() MetadataDatabaseTest()
: current_change_id_(kInitialChangeID), : current_change_id_(kInitialChangeID),
...@@ -202,8 +202,9 @@ class MetadataDatabaseTest : public testing::Test { ...@@ -202,8 +202,9 @@ class MetadataDatabaseTest : public testing::Test {
SyncStatusCode InitializeMetadataDatabase() { SyncStatusCode InitializeMetadataDatabase() {
SyncStatusCode status = SYNC_STATUS_UNKNOWN; SyncStatusCode status = SYNC_STATUS_UNKNOWN;
metadata_database_ = MetadataDatabase::Create( metadata_database_ = MetadataDatabase::CreateInternal(
database_dir_.path(), in_memory_env_.get(), &status); database_dir_.path(), in_memory_env_.get(),
GetParam(), &status);
return status; return status;
} }
...@@ -520,7 +521,7 @@ class MetadataDatabaseTest : public testing::Test { ...@@ -520,7 +521,7 @@ class MetadataDatabaseTest : public testing::Test {
MetadataDatabaseIndexInterface* index1 = metadata_database_->index_.get(); MetadataDatabaseIndexInterface* index1 = metadata_database_->index_.get();
MetadataDatabaseIndexInterface* index2 = metadata_database_2->index_.get(); MetadataDatabaseIndexInterface* index2 = metadata_database_2->index_.get();
if (metadata_database_->enable_on_disk_index_) { if (GetParam()) {
VerifyReloadConsistencyForOnDisk( VerifyReloadConsistencyForOnDisk(
static_cast<MetadataDatabaseIndexOnDisk*>(index1), static_cast<MetadataDatabaseIndexOnDisk*>(index1),
static_cast<MetadataDatabaseIndexOnDisk*>(index2)); static_cast<MetadataDatabaseIndexOnDisk*>(index2));
...@@ -615,7 +616,11 @@ class MetadataDatabaseTest : public testing::Test { ...@@ -615,7 +616,11 @@ class MetadataDatabaseTest : public testing::Test {
DISALLOW_COPY_AND_ASSIGN(MetadataDatabaseTest); DISALLOW_COPY_AND_ASSIGN(MetadataDatabaseTest);
}; };
TEST_F(MetadataDatabaseTest, InitializationTest_Empty) { INSTANTIATE_TEST_CASE_P(MetadataDatabaseTestWithIndexesOnDisk,
MetadataDatabaseTest,
::testing::Values(true, false));
TEST_P(MetadataDatabaseTest, InitializationTest_Empty) {
EXPECT_EQ(SYNC_STATUS_OK, InitializeMetadataDatabase()); EXPECT_EQ(SYNC_STATUS_OK, InitializeMetadataDatabase());
DropDatabase(); DropDatabase();
EXPECT_EQ(SYNC_STATUS_OK, InitializeMetadataDatabase()); EXPECT_EQ(SYNC_STATUS_OK, InitializeMetadataDatabase());
...@@ -630,7 +635,7 @@ TEST_F(MetadataDatabaseTest, InitializationTest_Empty) { ...@@ -630,7 +635,7 @@ TEST_F(MetadataDatabaseTest, InitializationTest_Empty) {
EXPECT_EQ(SYNC_STATUS_OK, InitializeMetadataDatabase()); EXPECT_EQ(SYNC_STATUS_OK, InitializeMetadataDatabase());
} }
TEST_F(MetadataDatabaseTest, InitializationTest_SimpleTree) { TEST_P(MetadataDatabaseTest, InitializationTest_SimpleTree) {
TrackedFile sync_root(CreateTrackedSyncRoot()); TrackedFile sync_root(CreateTrackedSyncRoot());
TrackedFile app_root(CreateTrackedFolder(sync_root, "app_id")); TrackedFile app_root(CreateTrackedFolder(sync_root, "app_id"));
app_root.tracker.set_app_id(app_root.metadata.details().title()); app_root.tracker.set_app_id(app_root.metadata.details().title());
...@@ -654,7 +659,7 @@ TEST_F(MetadataDatabaseTest, InitializationTest_SimpleTree) { ...@@ -654,7 +659,7 @@ TEST_F(MetadataDatabaseTest, InitializationTest_SimpleTree) {
VerifyTrackedFiles(tracked_files, arraysize(tracked_files)); VerifyTrackedFiles(tracked_files, arraysize(tracked_files));
} }
TEST_F(MetadataDatabaseTest, AppManagementTest) { TEST_P(MetadataDatabaseTest, AppManagementTest) {
TrackedFile sync_root(CreateTrackedSyncRoot()); TrackedFile sync_root(CreateTrackedSyncRoot());
TrackedFile app_root(CreateTrackedFolder(sync_root, "app_id")); TrackedFile app_root(CreateTrackedFolder(sync_root, "app_id"));
app_root.tracker.set_app_id(app_root.metadata.details().title()); app_root.tracker.set_app_id(app_root.metadata.details().title());
...@@ -709,7 +714,7 @@ TEST_F(MetadataDatabaseTest, AppManagementTest) { ...@@ -709,7 +714,7 @@ TEST_F(MetadataDatabaseTest, AppManagementTest) {
VerifyReloadConsistency(); VerifyReloadConsistency();
} }
TEST_F(MetadataDatabaseTest, BuildPathTest) { TEST_P(MetadataDatabaseTest, BuildPathTest) {
FileMetadata sync_root(CreateSyncRootMetadata()); FileMetadata sync_root(CreateSyncRootMetadata());
FileTracker sync_root_tracker(CreateSyncRootTracker(sync_root)); FileTracker sync_root_tracker(CreateSyncRootTracker(sync_root));
...@@ -758,7 +763,7 @@ TEST_F(MetadataDatabaseTest, BuildPathTest) { ...@@ -758,7 +763,7 @@ TEST_F(MetadataDatabaseTest, BuildPathTest) {
path); path);
} }
TEST_F(MetadataDatabaseTest, FindNearestActiveAncestorTest) { TEST_P(MetadataDatabaseTest, FindNearestActiveAncestorTest) {
const std::string kAppID = "app_id"; const std::string kAppID = "app_id";
FileMetadata sync_root(CreateSyncRootMetadata()); FileMetadata sync_root(CreateSyncRootMetadata());
...@@ -863,7 +868,7 @@ TEST_F(MetadataDatabaseTest, FindNearestActiveAncestorTest) { ...@@ -863,7 +868,7 @@ TEST_F(MetadataDatabaseTest, FindNearestActiveAncestorTest) {
} }
} }
TEST_F(MetadataDatabaseTest, UpdateByChangeListTest) { TEST_P(MetadataDatabaseTest, UpdateByChangeListTest) {
TrackedFile sync_root(CreateTrackedSyncRoot()); TrackedFile sync_root(CreateTrackedSyncRoot());
TrackedFile app_root(CreateTrackedFolder(sync_root, "app_id")); TrackedFile app_root(CreateTrackedFolder(sync_root, "app_id"));
TrackedFile disabled_app_root(CreateTrackedFolder(sync_root, "disabled_app")); TrackedFile disabled_app_root(CreateTrackedFolder(sync_root, "disabled_app"));
...@@ -925,7 +930,7 @@ TEST_F(MetadataDatabaseTest, UpdateByChangeListTest) { ...@@ -925,7 +930,7 @@ TEST_F(MetadataDatabaseTest, UpdateByChangeListTest) {
VerifyReloadConsistency(); VerifyReloadConsistency();
} }
TEST_F(MetadataDatabaseTest, PopulateFolderTest_RegularFolder) { TEST_P(MetadataDatabaseTest, PopulateFolderTest_RegularFolder) {
TrackedFile sync_root(CreateTrackedSyncRoot()); TrackedFile sync_root(CreateTrackedSyncRoot());
TrackedFile app_root(CreateTrackedAppRoot(sync_root, "app_id")); TrackedFile app_root(CreateTrackedAppRoot(sync_root, "app_id"));
app_root.tracker.set_app_id(app_root.metadata.details().title()); app_root.tracker.set_app_id(app_root.metadata.details().title());
...@@ -967,7 +972,7 @@ TEST_F(MetadataDatabaseTest, PopulateFolderTest_RegularFolder) { ...@@ -967,7 +972,7 @@ TEST_F(MetadataDatabaseTest, PopulateFolderTest_RegularFolder) {
VerifyReloadConsistency(); VerifyReloadConsistency();
} }
TEST_F(MetadataDatabaseTest, PopulateFolderTest_InactiveFolder) { TEST_P(MetadataDatabaseTest, PopulateFolderTest_InactiveFolder) {
TrackedFile sync_root(CreateTrackedSyncRoot()); TrackedFile sync_root(CreateTrackedSyncRoot());
TrackedFile app_root(CreateTrackedAppRoot(sync_root, "app_id")); TrackedFile app_root(CreateTrackedAppRoot(sync_root, "app_id"));
...@@ -997,7 +1002,7 @@ TEST_F(MetadataDatabaseTest, PopulateFolderTest_InactiveFolder) { ...@@ -997,7 +1002,7 @@ TEST_F(MetadataDatabaseTest, PopulateFolderTest_InactiveFolder) {
VerifyReloadConsistency(); VerifyReloadConsistency();
} }
TEST_F(MetadataDatabaseTest, PopulateFolderTest_DisabledAppRoot) { TEST_P(MetadataDatabaseTest, PopulateFolderTest_DisabledAppRoot) {
TrackedFile sync_root(CreateTrackedSyncRoot()); TrackedFile sync_root(CreateTrackedSyncRoot());
TrackedFile disabled_app_root( TrackedFile disabled_app_root(
CreateTrackedAppRoot(sync_root, "disabled_app")); CreateTrackedAppRoot(sync_root, "disabled_app"));
...@@ -1034,7 +1039,7 @@ TEST_F(MetadataDatabaseTest, PopulateFolderTest_DisabledAppRoot) { ...@@ -1034,7 +1039,7 @@ TEST_F(MetadataDatabaseTest, PopulateFolderTest_DisabledAppRoot) {
} }
// TODO(tzik): Fix expectation and re-enable this test. // TODO(tzik): Fix expectation and re-enable this test.
TEST_F(MetadataDatabaseTest, DISABLED_UpdateTrackerTest) { TEST_P(MetadataDatabaseTest, DISABLED_UpdateTrackerTest) {
TrackedFile sync_root(CreateTrackedSyncRoot()); TrackedFile sync_root(CreateTrackedSyncRoot());
TrackedFile app_root(CreateTrackedAppRoot(sync_root, "app_root")); TrackedFile app_root(CreateTrackedAppRoot(sync_root, "app_root"));
TrackedFile file(CreateTrackedFile(app_root, "file")); TrackedFile file(CreateTrackedFile(app_root, "file"));
...@@ -1085,7 +1090,7 @@ TEST_F(MetadataDatabaseTest, DISABLED_UpdateTrackerTest) { ...@@ -1085,7 +1090,7 @@ TEST_F(MetadataDatabaseTest, DISABLED_UpdateTrackerTest) {
VerifyReloadConsistency(); VerifyReloadConsistency();
} }
TEST_F(MetadataDatabaseTest, PopulateInitialDataTest) { TEST_P(MetadataDatabaseTest, PopulateInitialDataTest) {
TrackedFile sync_root(CreateTrackedSyncRoot()); TrackedFile sync_root(CreateTrackedSyncRoot());
TrackedFile app_root(CreateTrackedFolder(sync_root, "app_root")); TrackedFile app_root(CreateTrackedFolder(sync_root, "app_root"));
app_root.tracker.set_active(false); app_root.tracker.set_active(false);
...@@ -1116,7 +1121,7 @@ TEST_F(MetadataDatabaseTest, PopulateInitialDataTest) { ...@@ -1116,7 +1121,7 @@ TEST_F(MetadataDatabaseTest, PopulateInitialDataTest) {
VerifyReloadConsistency(); VerifyReloadConsistency();
} }
TEST_F(MetadataDatabaseTest, DumpFiles) { TEST_P(MetadataDatabaseTest, DumpFiles) {
TrackedFile sync_root(CreateTrackedSyncRoot()); TrackedFile sync_root(CreateTrackedSyncRoot());
TrackedFile app_root(CreateTrackedAppRoot(sync_root, "app_id")); TrackedFile app_root(CreateTrackedAppRoot(sync_root, "app_id"));
app_root.tracker.set_app_id(app_root.metadata.details().title()); app_root.tracker.set_app_id(app_root.metadata.details().title());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment