| 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 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 filesystem::FileSystemPtr& files() { return files_; } | 51 filesystem::FileSystemPtr& files() { return files_; } |
| 52 LevelDBServicePtr& leveldb() { return leveldb_; } | 52 LevelDBServicePtr& leveldb() { return leveldb_; } |
| 53 | 53 |
| 54 private: | 54 private: |
| 55 filesystem::FileSystemPtr files_; | 55 filesystem::FileSystemPtr files_; |
| 56 LevelDBServicePtr leveldb_; | 56 LevelDBServicePtr leveldb_; |
| 57 | 57 |
| 58 DISALLOW_COPY_AND_ASSIGN(LevelDBServiceTest); | 58 DISALLOW_COPY_AND_ASSIGN(LevelDBServiceTest); |
| 59 }; | 59 }; |
| 60 | 60 |
| 61 TEST_F(LevelDBServiceTest, Basic) { | 61 // TODO(crbug.com/602820) Test is flaky. |
| 62 #if defined(OS_LINUX) |
| 63 #define MAYBE_Basic DISABLED_Basic |
| 64 #else |
| 65 #define MAYBE_Basic Basic |
| 66 #endif |
| 67 TEST_F(LevelDBServiceTest, MAYBE_Basic) { |
| 62 filesystem::DirectoryPtr directory; | 68 filesystem::DirectoryPtr directory; |
| 63 GetUserDataDir(&directory); | 69 GetUserDataDir(&directory); |
| 64 | 70 |
| 65 DatabaseError error; | 71 DatabaseError error; |
| 66 LevelDBDatabasePtr database; | 72 LevelDBDatabasePtr database; |
| 67 leveldb()->Open(std::move(directory), "test", GetProxy(&database), | 73 leveldb()->Open(std::move(directory), "test", GetProxy(&database), |
| 68 Capture(&error)); | 74 Capture(&error)); |
| 69 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); | 75 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); |
| 70 EXPECT_EQ(DatabaseError::OK, error); | 76 EXPECT_EQ(DatabaseError::OK, error); |
| 71 | 77 |
| (...skipping 24 matching lines...) Expand all Loading... |
| 96 // Read the key back from the database. | 102 // Read the key back from the database. |
| 97 error = DatabaseError::INVALID_ARGUMENT; | 103 error = DatabaseError::INVALID_ARGUMENT; |
| 98 value.SetToEmpty(); | 104 value.SetToEmpty(); |
| 99 database->Get(mojo::Array<uint8_t>::From(std::string("key")), | 105 database->Get(mojo::Array<uint8_t>::From(std::string("key")), |
| 100 Capture(&error, &value)); | 106 Capture(&error, &value)); |
| 101 ASSERT_TRUE(database.WaitForIncomingResponse()); | 107 ASSERT_TRUE(database.WaitForIncomingResponse()); |
| 102 EXPECT_EQ(DatabaseError::NOT_FOUND, error); | 108 EXPECT_EQ(DatabaseError::NOT_FOUND, error); |
| 103 EXPECT_EQ("", value.To<std::string>()); | 109 EXPECT_EQ("", value.To<std::string>()); |
| 104 } | 110 } |
| 105 | 111 |
| 106 TEST_F(LevelDBServiceTest, WriteBatch) { | 112 // TODO(crbug.com/602820) Test is flaky. |
| 113 #if defined(OS_LINUX) |
| 114 #define MAYBE_WriteBatch DISABLED_WriteBatch |
| 115 #else |
| 116 #define MAYBE_WriteBatch WriteBatch |
| 117 #endif |
| 118 TEST_F(LevelDBServiceTest, MAYBE_WriteBatch) { |
| 107 filesystem::DirectoryPtr directory; | 119 filesystem::DirectoryPtr directory; |
| 108 GetUserDataDir(&directory); | 120 GetUserDataDir(&directory); |
| 109 | 121 |
| 110 DatabaseError error; | 122 DatabaseError error; |
| 111 LevelDBDatabasePtr database; | 123 LevelDBDatabasePtr database; |
| 112 leveldb()->Open(std::move(directory), "test", GetProxy(&database), | 124 leveldb()->Open(std::move(directory), "test", GetProxy(&database), |
| 113 Capture(&error)); | 125 Capture(&error)); |
| 114 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); | 126 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); |
| 115 EXPECT_EQ(DatabaseError::OK, error); | 127 EXPECT_EQ(DatabaseError::OK, error); |
| 116 | 128 |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 | 161 |
| 150 // Reading "other" should return "more" | 162 // Reading "other" should return "more" |
| 151 error = DatabaseError::INVALID_ARGUMENT; | 163 error = DatabaseError::INVALID_ARGUMENT; |
| 152 database->Get(mojo::Array<uint8_t>::From(std::string("other")), | 164 database->Get(mojo::Array<uint8_t>::From(std::string("other")), |
| 153 Capture(&error, &value)); | 165 Capture(&error, &value)); |
| 154 ASSERT_TRUE(database.WaitForIncomingResponse()); | 166 ASSERT_TRUE(database.WaitForIncomingResponse()); |
| 155 EXPECT_EQ(DatabaseError::OK, error); | 167 EXPECT_EQ(DatabaseError::OK, error); |
| 156 EXPECT_EQ("more", value.To<std::string>()); | 168 EXPECT_EQ("more", value.To<std::string>()); |
| 157 } | 169 } |
| 158 | 170 |
| 159 TEST_F(LevelDBServiceTest, Reconnect) { | 171 // TODO(crbug.com/602820) Test is flaky. |
| 172 #if defined(OS_LINUX) |
| 173 #define MAYBE_Reconnect DISABLED_Reconnect |
| 174 #else |
| 175 #define MAYBE_Reconnect Reconnect |
| 176 #endif |
| 177 TEST_F(LevelDBServiceTest, MAYBE_Reconnect) { |
| 160 DatabaseError error; | 178 DatabaseError error; |
| 161 | 179 |
| 162 { | 180 { |
| 163 filesystem::DirectoryPtr directory; | 181 filesystem::DirectoryPtr directory; |
| 164 GetUserDataDir(&directory); | 182 GetUserDataDir(&directory); |
| 165 | 183 |
| 166 LevelDBDatabasePtr database; | 184 LevelDBDatabasePtr database; |
| 167 leveldb()->Open(std::move(directory), "test", GetProxy(&database), | 185 leveldb()->Open(std::move(directory), "test", GetProxy(&database), |
| 168 Capture(&error)); | 186 Capture(&error)); |
| 169 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); | 187 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 195 error = DatabaseError::INVALID_ARGUMENT; | 213 error = DatabaseError::INVALID_ARGUMENT; |
| 196 mojo::Array<uint8_t> value; | 214 mojo::Array<uint8_t> value; |
| 197 database->Get(mojo::Array<uint8_t>::From(std::string("key")), | 215 database->Get(mojo::Array<uint8_t>::From(std::string("key")), |
| 198 Capture(&error, &value)); | 216 Capture(&error, &value)); |
| 199 ASSERT_TRUE(database.WaitForIncomingResponse()); | 217 ASSERT_TRUE(database.WaitForIncomingResponse()); |
| 200 EXPECT_EQ(DatabaseError::OK, error); | 218 EXPECT_EQ(DatabaseError::OK, error); |
| 201 EXPECT_EQ("value", value.To<std::string>()); | 219 EXPECT_EQ("value", value.To<std::string>()); |
| 202 } | 220 } |
| 203 } | 221 } |
| 204 | 222 |
| 205 TEST_F(LevelDBServiceTest, GetSnapshotSimple) { | 223 // TODO(crbug.com/602820) Test is flaky. |
| 224 #if defined(OS_LINUX) |
| 225 #define MAYBE_GetSnapshotSimple DISABLED_GetSnapshotSimple |
| 226 #else |
| 227 #define MAYBE_GetSnapshotSimple GetSnapshotSimple |
| 228 #endif |
| 229 TEST_F(LevelDBServiceTest, MAYBE_GetSnapshotSimple) { |
| 206 DatabaseError error; | 230 DatabaseError error; |
| 207 | 231 |
| 208 filesystem::DirectoryPtr directory; | 232 filesystem::DirectoryPtr directory; |
| 209 GetUserDataDir(&directory); | 233 GetUserDataDir(&directory); |
| 210 | 234 |
| 211 LevelDBDatabasePtr database; | 235 LevelDBDatabasePtr database; |
| 212 leveldb()->Open(std::move(directory), "test", GetProxy(&database), | 236 leveldb()->Open(std::move(directory), "test", GetProxy(&database), |
| 213 Capture(&error)); | 237 Capture(&error)); |
| 214 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); | 238 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); |
| 215 EXPECT_EQ(DatabaseError::OK, error); | 239 EXPECT_EQ(DatabaseError::OK, error); |
| 216 | 240 |
| 217 uint64_t snapshot_id = 0; | 241 uint64_t snapshot_id = 0; |
| 218 database->GetSnapshot(Capture(&snapshot_id)); | 242 database->GetSnapshot(Capture(&snapshot_id)); |
| 219 ASSERT_TRUE(database.WaitForIncomingResponse()); | 243 ASSERT_TRUE(database.WaitForIncomingResponse()); |
| 220 EXPECT_NE(static_cast<uint64_t>(0), snapshot_id); | 244 EXPECT_NE(static_cast<uint64_t>(0), snapshot_id); |
| 221 } | 245 } |
| 222 | 246 |
| 223 TEST_F(LevelDBServiceTest, GetFromSnapshots) { | 247 // TODO(crbug.com/602820) Test is flaky. |
| 248 #if defined(OS_LINUX) |
| 249 #define MAYBE_GetFromSnapshots DISABLED_GetFromSnapshots |
| 250 #else |
| 251 #define MAYBE_GetFromSnapshots GetFromSnapshots |
| 252 #endif |
| 253 TEST_F(LevelDBServiceTest, MAYBE_GetFromSnapshots) { |
| 224 DatabaseError error; | 254 DatabaseError error; |
| 225 | 255 |
| 226 filesystem::DirectoryPtr directory; | 256 filesystem::DirectoryPtr directory; |
| 227 GetUserDataDir(&directory); | 257 GetUserDataDir(&directory); |
| 228 | 258 |
| 229 LevelDBDatabasePtr database; | 259 LevelDBDatabasePtr database; |
| 230 leveldb()->Open(std::move(directory), "test", GetProxy(&database), | 260 leveldb()->Open(std::move(directory), "test", GetProxy(&database), |
| 231 Capture(&error)); | 261 Capture(&error)); |
| 232 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); | 262 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); |
| 233 EXPECT_EQ(DatabaseError::OK, error); | 263 EXPECT_EQ(DatabaseError::OK, error); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 267 value.SetToEmpty(); | 297 value.SetToEmpty(); |
| 268 database->GetFromSnapshot( | 298 database->GetFromSnapshot( |
| 269 key_value_snapshot, | 299 key_value_snapshot, |
| 270 mojo::Array<uint8_t>::From(std::string("key")), | 300 mojo::Array<uint8_t>::From(std::string("key")), |
| 271 Capture(&error, &value)); | 301 Capture(&error, &value)); |
| 272 ASSERT_TRUE(database.WaitForIncomingResponse()); | 302 ASSERT_TRUE(database.WaitForIncomingResponse()); |
| 273 EXPECT_EQ(DatabaseError::OK, error); | 303 EXPECT_EQ(DatabaseError::OK, error); |
| 274 EXPECT_EQ("value", value.To<std::string>()); | 304 EXPECT_EQ("value", value.To<std::string>()); |
| 275 } | 305 } |
| 276 | 306 |
| 277 TEST_F(LevelDBServiceTest, InvalidArgumentOnInvalidSnapshot) { | 307 // TODO(crbug.com/602820) Test is flaky. |
| 308 #if defined(OS_LINUX) |
| 309 #define MAYBE_InvalidArgumentOnInvalidSnapshot DISABLED_InvalidArgumentOnInvalid
Snapshot |
| 310 #else |
| 311 #define MAYBE_InvalidArgumentOnInvalidSnapshot InvalidArgumentOnInvalidSnapshot |
| 312 #endif |
| 313 TEST_F(LevelDBServiceTest, MAYBE_InvalidArgumentOnInvalidSnapshot) { |
| 278 filesystem::DirectoryPtr directory; | 314 filesystem::DirectoryPtr directory; |
| 279 GetUserDataDir(&directory); | 315 GetUserDataDir(&directory); |
| 280 | 316 |
| 281 LevelDBDatabasePtr database; | 317 LevelDBDatabasePtr database; |
| 282 DatabaseError error = DatabaseError::INVALID_ARGUMENT; | 318 DatabaseError error = DatabaseError::INVALID_ARGUMENT; |
| 283 leveldb()->Open(std::move(directory), "test", GetProxy(&database), | 319 leveldb()->Open(std::move(directory), "test", GetProxy(&database), |
| 284 Capture(&error)); | 320 Capture(&error)); |
| 285 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); | 321 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); |
| 286 EXPECT_EQ(DatabaseError::OK, error); | 322 EXPECT_EQ(DatabaseError::OK, error); |
| 287 | 323 |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 334 database->Get(mojo::Array<uint8_t>::From(std::string("key")), | 370 database->Get(mojo::Array<uint8_t>::From(std::string("key")), |
| 335 Capture(&error, &value)); | 371 Capture(&error, &value)); |
| 336 ASSERT_TRUE(database.WaitForIncomingResponse()); | 372 ASSERT_TRUE(database.WaitForIncomingResponse()); |
| 337 EXPECT_EQ(DatabaseError::NOT_FOUND, error); | 373 EXPECT_EQ(DatabaseError::NOT_FOUND, error); |
| 338 EXPECT_EQ("", value.To<std::string>()); | 374 EXPECT_EQ("", value.To<std::string>()); |
| 339 } | 375 } |
| 340 | 376 |
| 341 | 377 |
| 342 } // namespace | 378 } // namespace |
| 343 } // namespace leveldb | 379 } // namespace leveldb |
| OLD | NEW |