| Index: components/leveldb/leveldb_service_unittest.cc
|
| diff --git a/components/leveldb/leveldb_service_unittest.cc b/components/leveldb/leveldb_service_unittest.cc
|
| index 1f9b7029e5dc3f1e5d05ace153aba68b2fc18a36..000727c0bf55194c57fadc8ed354b70475a5a90a 100644
|
| --- a/components/leveldb/leveldb_service_unittest.cc
|
| +++ b/components/leveldb/leveldb_service_unittest.cc
|
| @@ -2,6 +2,7 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| +#include "base/bind.h"
|
| #include "base/macros.h"
|
| #include "components/filesystem/public/interfaces/directory.mojom.h"
|
| #include "components/filesystem/public/interfaces/file_system.mojom.h"
|
| @@ -40,10 +41,9 @@ class LevelDBServiceTest : public shell::test::ShellTest {
|
|
|
| // Note: This has an out parameter rather than returning the |DirectoryPtr|,
|
| // since |ASSERT_...()| doesn't work with return values.
|
| - void GetUserDataDir(filesystem::DirectoryPtr* directory) {
|
| + void GetTempDirectory(filesystem::DirectoryPtr* directory) {
|
| FileError error = FileError::FAILED;
|
| - files()->OpenPersistentFileSystem(GetProxy(directory),
|
| - mojo::Capture(&error));
|
| + files()->OpenTempDirectory(GetProxy(directory), mojo::Capture(&error));
|
| ASSERT_TRUE(files().WaitForIncomingResponse());
|
| ASSERT_EQ(FileError::OK, error);
|
| }
|
| @@ -187,22 +187,24 @@ TEST_F(LevelDBServiceTest, WriteBatch) {
|
| EXPECT_EQ("", value.To<std::string>());
|
| }
|
|
|
| -// TODO(crbug.com/602820) Test is flaky.
|
| -#if defined(OS_LINUX) || defined(OS_WIN)
|
| -#define MAYBE_Reconnect DISABLED_Reconnect
|
| -#else
|
| -#define MAYBE_Reconnect Reconnect
|
| -#endif
|
| -TEST_F(LevelDBServiceTest, MAYBE_Reconnect) {
|
| +TEST_F(LevelDBServiceTest, Reconnect) {
|
| DatabaseError error;
|
|
|
| + filesystem::DirectoryPtr temp_directory;
|
| + GetTempDirectory(&temp_directory);
|
| +
|
| {
|
| filesystem::DirectoryPtr directory;
|
| - GetUserDataDir(&directory);
|
| + temp_directory->Clone(GetProxy(&directory));
|
|
|
| LevelDBDatabasePtr database;
|
| - leveldb()->Open(std::move(directory), "test", GetProxy(&database),
|
| - Capture(&error));
|
| + leveldb::OpenOptionsPtr options = leveldb::OpenOptions::New();
|
| + options->error_if_exists = true;
|
| + options->create_if_missing = true;
|
| + leveldb()->OpenWithOptions(std::move(options),
|
| + std::move(directory), "test",
|
| + GetProxy(&database),
|
| + Capture(&error));
|
| ASSERT_TRUE(leveldb().WaitForIncomingResponse());
|
| EXPECT_EQ(DatabaseError::OK, error);
|
|
|
| @@ -219,7 +221,7 @@ TEST_F(LevelDBServiceTest, MAYBE_Reconnect) {
|
|
|
| {
|
| filesystem::DirectoryPtr directory;
|
| - GetUserDataDir(&directory);
|
| + temp_directory->Clone(GetProxy(&directory));
|
|
|
| // Reconnect to the database.
|
| LevelDBDatabasePtr database;
|
|
|