Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(80)

Side by Side Diff: trunk/src/chrome/browser/extensions/api/image_writer_private/test_utils.cc

Issue 384513002: Revert 282130 "Adds API test for imageWriterPrivate.writeFromFile" (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/browser/extensions/api/image_writer_private/test_utils.h" 5 #include "chrome/browser/extensions/api/image_writer_private/test_utils.h"
6 6
7 #if defined(OS_CHROMEOS) 7 #if defined(OS_CHROMEOS)
8 #include "chromeos/dbus/dbus_thread_manager.h" 8 #include "chromeos/dbus/dbus_thread_manager.h"
9 #include "chromeos/dbus/fake_dbus_thread_manager.h" 9 #include "chromeos/dbus/fake_dbus_thread_manager.h"
10 #include "chromeos/dbus/fake_image_burner_client.h" 10 #include "chromeos/dbus/fake_image_burner_client.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 FakeImageWriterClient::~FakeImageWriterClient() {} 70 FakeImageWriterClient::~FakeImageWriterClient() {}
71 71
72 void FakeImageWriterClient::Write(const ProgressCallback& progress_callback, 72 void FakeImageWriterClient::Write(const ProgressCallback& progress_callback,
73 const SuccessCallback& success_callback, 73 const SuccessCallback& success_callback,
74 const ErrorCallback& error_callback, 74 const ErrorCallback& error_callback,
75 const base::FilePath& source, 75 const base::FilePath& source,
76 const base::FilePath& target) { 76 const base::FilePath& target) {
77 progress_callback_ = progress_callback; 77 progress_callback_ = progress_callback;
78 success_callback_ = success_callback; 78 success_callback_ = success_callback;
79 error_callback_ = error_callback; 79 error_callback_ = error_callback;
80
81 if (!write_callback_.is_null())
82 write_callback_.Run();
83 } 80 }
84 81
85 void FakeImageWriterClient::Verify(const ProgressCallback& progress_callback, 82 void FakeImageWriterClient::Verify(const ProgressCallback& progress_callback,
86 const SuccessCallback& success_callback, 83 const SuccessCallback& success_callback,
87 const ErrorCallback& error_callback, 84 const ErrorCallback& error_callback,
88 const base::FilePath& source, 85 const base::FilePath& source,
89 const base::FilePath& target) { 86 const base::FilePath& target) {
90 progress_callback_ = progress_callback; 87 progress_callback_ = progress_callback;
91 success_callback_ = success_callback; 88 success_callback_ = success_callback;
92 error_callback_ = error_callback; 89 error_callback_ = error_callback;
93
94 if (!verify_callback_.is_null())
95 verify_callback_.Run();
96 } 90 }
97 91
98 void FakeImageWriterClient::Cancel(const CancelCallback& cancel_callback) { 92 void FakeImageWriterClient::Cancel(const CancelCallback& cancel_callback) {
99 cancel_callback_ = cancel_callback; 93 cancel_callback_ = cancel_callback;
100 } 94 }
101 95
102 void FakeImageWriterClient::Shutdown() { 96 void FakeImageWriterClient::Shutdown() {
103 // Clear handlers to not hold any reference to the caller. 97 // Clear handlers to not hold any reference to the caller.
104 success_callback_.Reset(); 98 success_callback_ = base::Closure();
105 progress_callback_.Reset(); 99 progress_callback_ = base::Callback<void(int64)>();
106 error_callback_.Reset(); 100 error_callback_ = base::Callback<void(const std::string&)>();
107 cancel_callback_.Reset(); 101 cancel_callback_ = base::Closure();
108
109 write_callback_.Reset();
110 verify_callback_.Reset();
111 }
112
113 void FakeImageWriterClient::SetWriteCallback(
114 const base::Closure& write_callback) {
115 write_callback_ = write_callback;
116 }
117
118 void FakeImageWriterClient::SetVerifyCallback(
119 const base::Closure& verify_callback) {
120 verify_callback_ = verify_callback;
121 } 102 }
122 103
123 void FakeImageWriterClient::Progress(int64 progress) { 104 void FakeImageWriterClient::Progress(int64 progress) {
124 if (!progress_callback_.is_null()) 105 progress_callback_.Run(progress);
125 progress_callback_.Run(progress);
126 } 106 }
127 107
128 void FakeImageWriterClient::Success() { 108 void FakeImageWriterClient::Success() { success_callback_.Run(); }
129 if (!success_callback_.is_null()) 109
130 success_callback_.Run(); 110 void FakeImageWriterClient::Error(const std::string& message) {
111 error_callback_.Run(message);
131 } 112 }
132 113
133 void FakeImageWriterClient::Error(const std::string& message) { 114 void FakeImageWriterClient::Cancel() { cancel_callback_.Run(); }
134 if (!error_callback_.is_null()) 115
135 error_callback_.Run(message); 116 scoped_refptr<FakeImageWriterClient> FakeImageWriterClient::Create() {
117 return scoped_refptr<FakeImageWriterClient>(new FakeImageWriterClient());
136 } 118 }
137 119
138 void FakeImageWriterClient::Cancel() { 120 ImageWriterUnitTestBase::ImageWriterUnitTestBase()
139 if (!cancel_callback_.is_null()) 121 : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP) {}
140 cancel_callback_.Run(); 122 ImageWriterUnitTestBase::~ImageWriterUnitTestBase() {}
141 }
142 123
143 ImageWriterTestUtils::ImageWriterTestUtils() { 124 void ImageWriterUnitTestBase::SetUp() {
144 } 125 testing::Test::SetUp();
145 ImageWriterTestUtils::~ImageWriterTestUtils() {
146 }
147 126
148 void ImageWriterTestUtils::SetUp() {
149 SetUp(false);
150 }
151
152 void ImageWriterTestUtils::SetUp(bool is_browser_test) {
153 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); 127 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
154 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), 128 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(),
155 &test_image_path_)); 129 &test_image_path_));
156 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), 130 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(),
157 &test_device_path_)); 131 &test_device_path_));
158 132
159 ASSERT_TRUE(FillFile(test_image_path_, kImagePattern, kTestFileSize)); 133 ASSERT_TRUE(FillFile(test_image_path_, kImagePattern, kTestFileSize));
160 ASSERT_TRUE(FillFile(test_device_path_, kDevicePattern, kTestFileSize)); 134 ASSERT_TRUE(FillFile(test_device_path_, kDevicePattern, kTestFileSize));
161 135
162 #if defined(OS_CHROMEOS) 136 #if defined(OS_CHROMEOS)
163 if (!chromeos::DBusThreadManager::IsInitialized()) { 137 if (!chromeos::DBusThreadManager::IsInitialized()) {
164 chromeos::FakeDBusThreadManager* fake_dbus_thread_manager = 138 chromeos::FakeDBusThreadManager* fake_dbus_thread_manager =
165 new chromeos::FakeDBusThreadManager; 139 new chromeos::FakeDBusThreadManager;
166 fake_dbus_thread_manager->SetFakeClients();
167 scoped_ptr<chromeos::ImageBurnerClient> 140 scoped_ptr<chromeos::ImageBurnerClient>
168 image_burner_fake(new ImageWriterFakeImageBurnerClient()); 141 image_burner_fake(new ImageWriterFakeImageBurnerClient());
169 fake_dbus_thread_manager->SetImageBurnerClient(image_burner_fake.Pass()); 142 fake_dbus_thread_manager->SetImageBurnerClient(image_burner_fake.Pass());
170 143 chromeos::DBusThreadManager::InitializeForTesting(fake_dbus_thread_manager);
171 if (is_browser_test) {
172 chromeos::DBusThreadManager::SetInstanceForTesting(
173 fake_dbus_thread_manager);
174 } else {
175 chromeos::DBusThreadManager::InitializeForTesting(
176 fake_dbus_thread_manager);
177 }
178 } 144 }
179
180 FakeDiskMountManager* disk_manager = new FakeDiskMountManager(); 145 FakeDiskMountManager* disk_manager = new FakeDiskMountManager();
181 chromeos::disks::DiskMountManager::InitializeForTesting(disk_manager); 146 chromeos::disks::DiskMountManager::InitializeForTesting(disk_manager);
182 147
183 // Adds a disk entry for test_device_path_ with the same device and file path. 148 // Adds a disk entry for test_device_path_ with the same device and file path.
184 disk_manager->CreateDiskEntryForMountDevice( 149 disk_manager->CreateDiskEntryForMountDevice(
185 chromeos::disks::DiskMountManager::MountPointInfo( 150 chromeos::disks::DiskMountManager::MountPointInfo(
186 test_device_path_.value(), 151 test_device_path_.value(),
187 "/dummy/mount", 152 "/dummy/mount",
188 chromeos::MOUNT_TYPE_DEVICE, 153 chromeos::MOUNT_TYPE_DEVICE,
189 chromeos::disks::MOUNT_CONDITION_NONE), 154 chromeos::disks::MOUNT_CONDITION_NONE),
190 "device_id", 155 "device_id",
191 "device_label", 156 "device_label",
192 "Vendor", 157 "Vendor",
193 "Product", 158 "Product",
194 chromeos::DEVICE_TYPE_USB, 159 chromeos::DEVICE_TYPE_USB,
195 kTestFileSize, 160 kTestFileSize,
196 true, 161 true,
197 true, 162 true,
198 false); 163 false);
199 disk_manager->SetupDefaultReplies(); 164 disk_manager->SetupDefaultReplies();
200 #else
201 client_ = new FakeImageWriterClient();
202 image_writer::Operation::SetUtilityClientForTesting(client_);
203 #endif 165 #endif
204 } 166 }
205 167
206 void ImageWriterTestUtils::TearDown() { 168 void ImageWriterUnitTestBase::TearDown() {
207 #if defined(OS_CHROMEOS) 169 #if defined(OS_CHROMEOS)
208 if (chromeos::DBusThreadManager::IsInitialized()) { 170 chromeos::DBusThreadManager::Shutdown();
209 chromeos::DBusThreadManager::Shutdown();
210 }
211 chromeos::disks::DiskMountManager::Shutdown(); 171 chromeos::disks::DiskMountManager::Shutdown();
212 #else
213 image_writer::Operation::SetUtilityClientForTesting(NULL);
214 #endif 172 #endif
215 } 173 }
216 174
217 const base::FilePath& ImageWriterTestUtils::GetTempDir() { 175 bool ImageWriterUnitTestBase::ImageWrittenToDevice(
218 return temp_dir_.path(); 176 const base::FilePath& image_path,
219 } 177 const base::FilePath& device_path) {
220
221 const base::FilePath& ImageWriterTestUtils::GetImagePath() {
222 return test_image_path_;
223 }
224
225 const base::FilePath& ImageWriterTestUtils::GetDevicePath() {
226 return test_device_path_;
227 }
228
229 #if !defined(OS_CHROMEOS)
230 FakeImageWriterClient* ImageWriterTestUtils::GetUtilityClient() {
231 return client_.get();
232 }
233 #endif
234
235 bool ImageWriterTestUtils::ImageWrittenToDevice() {
236 scoped_ptr<char[]> image_buffer(new char[kTestFileSize]); 178 scoped_ptr<char[]> image_buffer(new char[kTestFileSize]);
237 scoped_ptr<char[]> device_buffer(new char[kTestFileSize]); 179 scoped_ptr<char[]> device_buffer(new char[kTestFileSize]);
238 180
239 int image_bytes_read = 181 int image_bytes_read =
240 ReadFile(test_image_path_, image_buffer.get(), kTestFileSize); 182 ReadFile(image_path, image_buffer.get(), kTestFileSize);
241 183
242 if (image_bytes_read < 0) 184 if (image_bytes_read < 0)
243 return false; 185 return false;
244 186
245 int device_bytes_read = 187 int device_bytes_read =
246 ReadFile(test_device_path_, device_buffer.get(), kTestFileSize); 188 ReadFile(device_path, device_buffer.get(), kTestFileSize);
247 189
248 if (image_bytes_read != device_bytes_read) 190 if (image_bytes_read != device_bytes_read)
249 return false; 191 return false;
250 192
251 return memcmp(image_buffer.get(), device_buffer.get(), image_bytes_read) == 0; 193 return memcmp(image_buffer.get(), device_buffer.get(), image_bytes_read) == 0;
252 } 194 }
253 195
254 bool ImageWriterTestUtils::FillFile(const base::FilePath& file, 196 bool ImageWriterUnitTestBase::FillFile(const base::FilePath& file,
255 const int pattern, 197 const int pattern,
256 const int length) { 198 const int length) {
257 scoped_ptr<char[]> buffer(new char[length]); 199 scoped_ptr<char[]> buffer(new char[length]);
258 memset(buffer.get(), pattern, length); 200 memset(buffer.get(), pattern, length);
259 201
260 return base::WriteFile(file, buffer.get(), length) == length; 202 return base::WriteFile(file, buffer.get(), length) == length;
261 } 203 }
262 204
263 ImageWriterUnitTestBase::ImageWriterUnitTestBase()
264 : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP) {
265 }
266 ImageWriterUnitTestBase::~ImageWriterUnitTestBase() {
267 }
268
269 void ImageWriterUnitTestBase::SetUp() {
270 testing::Test::SetUp();
271 test_utils_.SetUp();
272 }
273
274 void ImageWriterUnitTestBase::TearDown() {
275 testing::Test::TearDown();
276 test_utils_.TearDown();
277 }
278
279 } // namespace image_writer 205 } // namespace image_writer
280 } // namespace extensions 206 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698