| Index: third_party/leveldatabase/env_chromium_unittest.cc
|
| diff --git a/third_party/leveldatabase/env_chromium_unittest.cc b/third_party/leveldatabase/env_chromium_unittest.cc
|
| index d4819e89804399a2235a874de704265070ba03b0..368b24a46c5ce283737feec69f476530f6b1d4a2 100644
|
| --- a/third_party/leveldatabase/env_chromium_unittest.cc
|
| +++ b/third_party/leveldatabase/env_chromium_unittest.cc
|
| @@ -169,4 +169,25 @@ TEST(ChromiumEnv, GetChildrenPriorResults) {
|
| EXPECT_EQ(1U, result.size());
|
| }
|
|
|
| +TEST(ChromiumEnv, TestWriteBufferSize) {
|
| + // If can't get disk size, use leveldb defaults.
|
| + const int64_t MB = 1024 * 1024;
|
| + EXPECT_EQ(size_t(4 * MB), leveldb_env::WriteBufferSize(-1));
|
| +
|
| + // A very small disk (check lower clamp value).
|
| + EXPECT_EQ(size_t(1 * MB), leveldb_env::WriteBufferSize(1 * MB));
|
| +
|
| + // Some value on the linear equation between min and max.
|
| + EXPECT_EQ(size_t(2.5 * MB), leveldb_env::WriteBufferSize(25 * MB));
|
| +
|
| + // The disk size equating to the max buffer size
|
| + EXPECT_EQ(size_t(4 * MB), leveldb_env::WriteBufferSize(40 * MB));
|
| +
|
| + // Make sure sizes larger than 40MB are clamped to max buffer size.
|
| + EXPECT_EQ(size_t(4 * MB), leveldb_env::WriteBufferSize(80 * MB));
|
| +
|
| + // Check for very large disk size (catch overflow).
|
| + EXPECT_EQ(size_t(4 * MB), leveldb_env::WriteBufferSize(100 * MB * MB));
|
| +}
|
| +
|
| int main(int argc, char** argv) { return base::TestSuite(argc, argv).Run(); }
|
|
|