Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/macros.h" | 5 #include "base/macros.h" |
| 6 #include "components/filesystem/public/interfaces/directory.mojom.h" | 6 #include "components/filesystem/public/interfaces/directory.mojom.h" |
| 7 #include "components/filesystem/public/interfaces/file_system.mojom.h" | 7 #include "components/filesystem/public/interfaces/file_system.mojom.h" |
| 8 #include "components/filesystem/public/interfaces/types.mojom.h" | 8 #include "components/filesystem/public/interfaces/types.mojom.h" |
| 9 #include "components/leveldb/public/interfaces/leveldb.mojom.h" | 9 #include "components/leveldb/public/interfaces/leveldb.mojom.h" |
| 10 #include "mojo/common/common_type_converters.h" | 10 #include "mojo/common/common_type_converters.h" |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 25 ~LevelDBApptest() override {} | 25 ~LevelDBApptest() override {} |
| 26 | 26 |
| 27 protected: | 27 protected: |
| 28 // Overridden from mojo::test::ApplicationTestBase: | 28 // Overridden from mojo::test::ApplicationTestBase: |
| 29 void SetUp() override { | 29 void SetUp() override { |
| 30 ShellTest::SetUp(); | 30 ShellTest::SetUp(); |
| 31 connector()->ConnectToInterface("mojo:filesystem", &files_); | 31 connector()->ConnectToInterface("mojo:filesystem", &files_); |
| 32 connector()->ConnectToInterface("mojo:leveldb", &leveldb_); | 32 connector()->ConnectToInterface("mojo:leveldb", &leveldb_); |
| 33 } | 33 } |
| 34 | 34 |
| 35 void TearDown() override { | |
| 36 leveldb_.reset(); | |
| 37 files_.reset(); | |
| 38 ShellTest::TearDown(); | |
| 39 } | |
| 40 | |
| 35 // Note: This has an out parameter rather than returning the |DirectoryPtr|, | 41 // Note: This has an out parameter rather than returning the |DirectoryPtr|, |
| 36 // since |ASSERT_...()| doesn't work with return values. | 42 // since |ASSERT_...()| doesn't work with return values. |
| 37 void GetUserDataDir(filesystem::DirectoryPtr* directory) { | 43 void GetUserDataDir(filesystem::DirectoryPtr* directory) { |
| 38 FileError error = FileError::FAILED; | 44 FileError error = FileError::FAILED; |
| 39 files()->OpenPersistentFileSystem(GetProxy(directory), | 45 files()->OpenPersistentFileSystem(GetProxy(directory), |
| 40 mojo::Capture(&error)); | 46 mojo::Capture(&error)); |
| 41 ASSERT_TRUE(files().WaitForIncomingResponse()); | 47 ASSERT_TRUE(files().WaitForIncomingResponse()); |
| 42 ASSERT_EQ(FileError::OK, error); | 48 ASSERT_EQ(FileError::OK, error); |
| 43 } | 49 } |
| 44 | 50 |
| 45 filesystem::FileSystemPtr& files() { return files_; } | 51 filesystem::FileSystemPtr& files() { return files_; } |
| 46 LevelDBServicePtr& leveldb() { return leveldb_; } | 52 LevelDBServicePtr& leveldb() { return leveldb_; } |
| 47 | 53 |
| 48 private: | 54 private: |
| 49 filesystem::FileSystemPtr files_; | 55 filesystem::FileSystemPtr files_; |
| 50 LevelDBServicePtr leveldb_; | 56 LevelDBServicePtr leveldb_; |
| 51 | 57 |
| 52 DISALLOW_COPY_AND_ASSIGN(LevelDBApptest); | 58 DISALLOW_COPY_AND_ASSIGN(LevelDBApptest); |
| 53 }; | 59 }; |
| 54 | 60 |
| 55 #if defined(OS_LINUX) | 61 TEST_F(LevelDBApptest, Basic) { |
| 56 // Flaky on Linux: http://crbug.com/594977, | |
| 57 #define MAYBE_Basic DISABLED_Basic | |
| 58 #else | |
| 59 #define MAYBE_Basic Basic | |
| 60 #endif | |
| 61 TEST_F(LevelDBApptest, MAYBE_Basic) { | |
| 62 filesystem::DirectoryPtr directory; | 62 filesystem::DirectoryPtr directory; |
| 63 GetUserDataDir(&directory); | 63 GetUserDataDir(&directory); |
| 64 | 64 |
| 65 DatabaseError error; | 65 DatabaseError error; |
| 66 LevelDBDatabasePtr database; | 66 LevelDBDatabasePtr database; |
| 67 leveldb()->Open(std::move(directory), "test", GetProxy(&database), | 67 leveldb()->Open(std::move(directory), "test", GetProxy(&database), |
| 68 Capture(&error)); | 68 Capture(&error)); |
| 69 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); | 69 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); |
| 70 EXPECT_EQ(DatabaseError::OK, error); | 70 EXPECT_EQ(DatabaseError::OK, error); |
| 71 | 71 |
| (...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 267 value.SetToEmpty(); | 267 value.SetToEmpty(); |
| 268 database->GetFromSnapshot( | 268 database->GetFromSnapshot( |
| 269 key_value_snapshot, | 269 key_value_snapshot, |
| 270 mojo::Array<uint8_t>::From(std::string("key")), | 270 mojo::Array<uint8_t>::From(std::string("key")), |
| 271 Capture(&error, &value)); | 271 Capture(&error, &value)); |
| 272 ASSERT_TRUE(database.WaitForIncomingResponse()); | 272 ASSERT_TRUE(database.WaitForIncomingResponse()); |
| 273 EXPECT_EQ(DatabaseError::OK, error); | 273 EXPECT_EQ(DatabaseError::OK, error); |
| 274 EXPECT_EQ("value", value.To<std::string>()); | 274 EXPECT_EQ("value", value.To<std::string>()); |
| 275 } | 275 } |
| 276 | 276 |
| 277 #if defined(OS_LINUX) | |
| 278 // Flaky on Linux: http://crbug.com/594977, | |
| 279 #define MAYBE_InvalidArgumentOnInvalidSnapshot DISABLED_InvalidArgumentOnInvalid Snapshot | |
| 280 #else | |
| 281 #define MAYBE_InvalidArgumentOnInvalidSnapshot InvalidArgumentOnInvalidSnapshot | |
| 282 #endif | |
| 283 TEST_F(LevelDBApptest, InvalidArgumentOnInvalidSnapshot) { | 277 TEST_F(LevelDBApptest, InvalidArgumentOnInvalidSnapshot) { |
|
Elliot Glaysher
2016/03/23 21:46:34
Oddly enough, this test was never actually disable
| |
| 284 filesystem::DirectoryPtr directory; | 278 filesystem::DirectoryPtr directory; |
| 285 GetUserDataDir(&directory); | 279 GetUserDataDir(&directory); |
| 286 | 280 |
| 287 LevelDBDatabasePtr database; | 281 LevelDBDatabasePtr database; |
| 288 DatabaseError error = DatabaseError::INVALID_ARGUMENT; | 282 DatabaseError error = DatabaseError::INVALID_ARGUMENT; |
| 289 leveldb()->Open(std::move(directory), "test", GetProxy(&database), | 283 leveldb()->Open(std::move(directory), "test", GetProxy(&database), |
| 290 Capture(&error)); | 284 Capture(&error)); |
| 291 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); | 285 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); |
| 292 EXPECT_EQ(DatabaseError::OK, error); | 286 EXPECT_EQ(DatabaseError::OK, error); |
| 293 | 287 |
| 294 uint64_t invalid_snapshot = 8; | 288 uint64_t invalid_snapshot = 8; |
| 295 | 289 |
| 296 error = DatabaseError::OK; | 290 error = DatabaseError::OK; |
| 297 mojo::Array<uint8_t> value; | 291 mojo::Array<uint8_t> value; |
| 298 database->GetFromSnapshot( | 292 database->GetFromSnapshot( |
| 299 invalid_snapshot, | 293 invalid_snapshot, |
| 300 mojo::Array<uint8_t>::From(std::string("key")), | 294 mojo::Array<uint8_t>::From(std::string("key")), |
| 301 Capture(&error, &value)); | 295 Capture(&error, &value)); |
| 302 ASSERT_TRUE(database.WaitForIncomingResponse()); | 296 ASSERT_TRUE(database.WaitForIncomingResponse()); |
| 303 EXPECT_EQ(DatabaseError::INVALID_ARGUMENT, error); | 297 EXPECT_EQ(DatabaseError::INVALID_ARGUMENT, error); |
| 304 } | 298 } |
| 305 | 299 |
| 306 } // namespace | 300 } // namespace |
| 307 } // namespace leveldb | 301 } // namespace leveldb |
| OLD | NEW |