OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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/basictypes.h" |
5 #include "base/file_util.h" | 6 #include "base/file_util.h" |
6 #include "base/string_util.h" | 7 #include "base/string_util.h" |
7 #include "net/disk_cache/disk_cache_test_base.h" | 8 #include "net/disk_cache/disk_cache_test_base.h" |
8 #include "net/disk_cache/disk_cache_test_util.h" | 9 #include "net/disk_cache/disk_cache_test_util.h" |
9 #include "net/disk_cache/mapped_file.h" | 10 #include "net/disk_cache/mapped_file.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 11 #include "testing/gtest/include/gtest/gtest.h" |
11 | 12 |
12 namespace { | 13 namespace { |
13 | 14 |
14 int g_cache_tests_max_id; | 15 int g_cache_tests_max_id; |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 TEST_F(DiskCacheTest, MappedFile_SyncIO) { | 71 TEST_F(DiskCacheTest, MappedFile_SyncIO) { |
71 std::wstring filename = GetCachePath(); | 72 std::wstring filename = GetCachePath(); |
72 file_util::AppendToPath(&filename, L"a_test"); | 73 file_util::AppendToPath(&filename, L"a_test"); |
73 scoped_refptr<disk_cache::MappedFile> file(new disk_cache::MappedFile); | 74 scoped_refptr<disk_cache::MappedFile> file(new disk_cache::MappedFile); |
74 ASSERT_TRUE(CreateCacheTestFile(filename.c_str())); | 75 ASSERT_TRUE(CreateCacheTestFile(filename.c_str())); |
75 ASSERT_TRUE(file->Init(filename, 8192)); | 76 ASSERT_TRUE(file->Init(filename, 8192)); |
76 | 77 |
77 char buffer1[20]; | 78 char buffer1[20]; |
78 char buffer2[20]; | 79 char buffer2[20]; |
79 CacheTestFillBuffer(buffer1, sizeof(buffer1), false); | 80 CacheTestFillBuffer(buffer1, sizeof(buffer1), false); |
80 base::strlcpy(buffer1, "the data", sizeof(buffer1)); | 81 base::strlcpy(buffer1, "the data", arraysize(buffer1)); |
81 EXPECT_TRUE(file->Write(buffer1, sizeof(buffer1), 8192)); | 82 EXPECT_TRUE(file->Write(buffer1, sizeof(buffer1), 8192)); |
82 EXPECT_TRUE(file->Read(buffer2, sizeof(buffer2), 8192)); | 83 EXPECT_TRUE(file->Read(buffer2, sizeof(buffer2), 8192)); |
83 EXPECT_STREQ(buffer1, buffer2); | 84 EXPECT_STREQ(buffer1, buffer2); |
84 } | 85 } |
85 | 86 |
86 TEST_F(DiskCacheTest, MappedFile_AsyncIO) { | 87 TEST_F(DiskCacheTest, MappedFile_AsyncIO) { |
87 std::wstring filename = GetCachePath(); | 88 std::wstring filename = GetCachePath(); |
88 file_util::AppendToPath(&filename, L"a_test"); | 89 file_util::AppendToPath(&filename, L"a_test"); |
89 scoped_refptr<disk_cache::MappedFile> file(new disk_cache::MappedFile); | 90 scoped_refptr<disk_cache::MappedFile> file(new disk_cache::MappedFile); |
90 ASSERT_TRUE(CreateCacheTestFile(filename.c_str())); | 91 ASSERT_TRUE(CreateCacheTestFile(filename.c_str())); |
91 ASSERT_TRUE(file->Init(filename, 8192)); | 92 ASSERT_TRUE(file->Init(filename, 8192)); |
92 | 93 |
93 FileCallbackTest callback(1); | 94 FileCallbackTest callback(1); |
94 g_cache_tests_error = false; | 95 g_cache_tests_error = false; |
95 g_cache_tests_max_id = 0; | 96 g_cache_tests_max_id = 0; |
96 g_cache_tests_received = 0; | 97 g_cache_tests_received = 0; |
97 | 98 |
98 MessageLoopHelper helper; | 99 MessageLoopHelper helper; |
99 | 100 |
100 char buffer1[20]; | 101 char buffer1[20]; |
101 char buffer2[20]; | 102 char buffer2[20]; |
102 CacheTestFillBuffer(buffer1, sizeof(buffer1), false); | 103 CacheTestFillBuffer(buffer1, sizeof(buffer1), false); |
103 base::strlcpy(buffer1, "the data", sizeof(buffer1)); | 104 base::strlcpy(buffer1, "the data", arraysize(buffer1)); |
104 bool completed; | 105 bool completed; |
105 EXPECT_TRUE(file->Write(buffer1, sizeof(buffer1), 1024 * 1024, &callback, | 106 EXPECT_TRUE(file->Write(buffer1, sizeof(buffer1), 1024 * 1024, &callback, |
106 &completed)); | 107 &completed)); |
107 int expected = completed ? 0 : 1; | 108 int expected = completed ? 0 : 1; |
108 | 109 |
109 g_cache_tests_max_id = 1; | 110 g_cache_tests_max_id = 1; |
110 helper.WaitUntilCacheIoFinished(expected); | 111 helper.WaitUntilCacheIoFinished(expected); |
111 | 112 |
112 EXPECT_TRUE(file->Read(buffer2, sizeof(buffer2), 1024 * 1024, &callback, | 113 EXPECT_TRUE(file->Read(buffer2, sizeof(buffer2), 1024 * 1024, &callback, |
113 &completed)); | 114 &completed)); |
114 if (!completed) | 115 if (!completed) |
115 expected++; | 116 expected++; |
116 | 117 |
117 helper.WaitUntilCacheIoFinished(expected); | 118 helper.WaitUntilCacheIoFinished(expected); |
118 | 119 |
119 EXPECT_EQ(expected, g_cache_tests_received); | 120 EXPECT_EQ(expected, g_cache_tests_received); |
120 EXPECT_FALSE(g_cache_tests_error); | 121 EXPECT_FALSE(g_cache_tests_error); |
121 EXPECT_STREQ(buffer1, buffer2); | 122 EXPECT_STREQ(buffer1, buffer2); |
122 } | 123 } |
123 | 124 |
OLD | NEW |