Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 "media/cdm/ppapi/cdm_file_io_test.h" | 5 #include "media/cdm/ppapi/cdm_file_io_test.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/callback_helpers.h" | 8 #include "base/callback_helpers.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 | 10 |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 68 | 68 |
| 69 FileIOTestRunner::FileIOTestRunner(const CreateFileIOCB& create_file_io_cb) | 69 FileIOTestRunner::FileIOTestRunner(const CreateFileIOCB& create_file_io_cb) |
| 70 : create_file_io_cb_(create_file_io_cb), | 70 : create_file_io_cb_(create_file_io_cb), |
| 71 total_num_tests_(0), | 71 total_num_tests_(0), |
| 72 num_passed_tests_(0) { | 72 num_passed_tests_(0) { |
| 73 // Generate |large_data_|. | 73 // Generate |large_data_|. |
| 74 large_data_.resize(kLargeDataSize); | 74 large_data_.resize(kLargeDataSize); |
| 75 for (size_t i = 0; i < kLargeDataSize; ++i) | 75 for (size_t i = 0; i < kLargeDataSize; ++i) |
| 76 large_data_[i] = i % kuint8max; | 76 large_data_[i] = i % kuint8max; |
| 77 | 77 |
| 78 // Generate |corrupted_big_data_|. | |
|
ddorwin
2014/09/12 20:25:24
Do we really need a member for one test?
xhwang
2014/09/13 01:19:30
We add test cases first then run all tests togethe
| |
| 79 corrupted_big_data_.assign(kData, kData + kDataSize); | |
|
ddorwin
2014/09/12 20:25:24
I don't think the naming is right. It is data but
xhwang
2014/09/13 01:19:30
Acknowledged.
| |
| 80 corrupted_big_data_.resize(kBigDataSize, 0); | |
| 81 | |
| 78 AddTests(); | 82 AddTests(); |
| 79 } | 83 } |
| 80 | 84 |
| 81 FileIOTestRunner::~FileIOTestRunner() { | 85 FileIOTestRunner::~FileIOTestRunner() { |
| 82 if (remaining_tests_.empty()) | 86 if (remaining_tests_.empty()) |
| 83 return; | 87 return; |
| 84 | 88 |
| 85 DCHECK_LT(num_passed_tests_, total_num_tests_); | 89 DCHECK_LT(num_passed_tests_, total_num_tests_); |
| 86 FILE_IO_DVLOG(1) << "Not Finished (probably due to timeout). " | 90 FILE_IO_DVLOG(1) << "Not Finished (probably due to timeout). " |
| 87 << num_passed_tests_ << " passed in " | 91 << num_passed_tests_ << " passed in " |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 260 CLOSE_FILE | 264 CLOSE_FILE |
| 261 END_TEST_CASE | 265 END_TEST_CASE |
| 262 | 266 |
| 263 START_TEST_CASE("CloseDuringPendingWrite") | 267 START_TEST_CASE("CloseDuringPendingWrite") |
| 264 OPEN_FILE | 268 OPEN_FILE |
| 265 EXPECT_FILE_OPENED(kSuccess) | 269 EXPECT_FILE_OPENED(kSuccess) |
| 266 WRITE_FILE(kData, kDataSize) | 270 WRITE_FILE(kData, kDataSize) |
| 267 CLOSE_FILE | 271 CLOSE_FILE |
| 268 END_TEST_CASE | 272 END_TEST_CASE |
| 269 | 273 |
| 274 START_TEST_CASE("CloseDuringPendingOverwriteWithLargerData") | |
| 275 OPEN_FILE | |
| 276 EXPECT_FILE_OPENED(kSuccess) | |
| 277 WRITE_FILE(kData, kDataSize) | |
| 278 EXPECT_FILE_WRITTEN(kSuccess) | |
| 279 WRITE_FILE(kBigData, kBigDataSize) | |
| 280 CLOSE_FILE | |
| 281 // The file is corrupted. See http://crbug.com/410630 | |
| 282 CREATE_FILE_IO | |
| 283 OPEN_FILE | |
| 284 EXPECT_FILE_OPENED(kSuccess) | |
| 285 READ_FILE | |
| 286 EXPECT_FILE_READ(kSuccess, &corrupted_big_data_[0], kBigDataSize) | |
| 287 END_TEST_CASE | |
| 288 | |
| 289 START_TEST_CASE("CloseDuringPendingOverwriteWithSmallerData") | |
| 290 OPEN_FILE | |
| 291 EXPECT_FILE_OPENED(kSuccess) | |
| 292 WRITE_FILE(kBigData, kBigDataSize) | |
| 293 EXPECT_FILE_WRITTEN(kSuccess) | |
| 294 WRITE_FILE(kData, kDataSize) | |
| 295 CLOSE_FILE | |
| 296 // The file is corrupted. See http://crbug.com/410630 | |
| 297 CREATE_FILE_IO | |
| 298 OPEN_FILE | |
| 299 EXPECT_FILE_OPENED(kSuccess) | |
| 300 READ_FILE | |
| 301 EXPECT_FILE_READ(kSuccess, kBigData, kDataSize) | |
| 302 END_TEST_CASE | |
| 303 | |
| 270 START_TEST_CASE("CloseDuringPendingRead") | 304 START_TEST_CASE("CloseDuringPendingRead") |
| 271 OPEN_FILE | 305 OPEN_FILE |
| 272 EXPECT_FILE_OPENED(kSuccess) | 306 EXPECT_FILE_OPENED(kSuccess) |
| 273 WRITE_FILE(kData, kDataSize) | 307 WRITE_FILE(kData, kDataSize) |
| 274 EXPECT_FILE_WRITTEN(kSuccess) | 308 EXPECT_FILE_WRITTEN(kSuccess) |
| 275 READ_FILE | 309 READ_FILE |
| 276 CLOSE_FILE | 310 CLOSE_FILE |
| 311 // Make sure the file is not modified. | |
| 312 CREATE_FILE_IO | |
| 313 OPEN_FILE | |
| 314 EXPECT_FILE_OPENED(kSuccess) | |
| 315 READ_FILE | |
| 316 EXPECT_FILE_READ(kSuccess, kData, kDataSize) | |
| 277 END_TEST_CASE | 317 END_TEST_CASE |
| 278 } | 318 } |
| 279 | 319 |
| 280 void FileIOTestRunner::RunAllTests(const CompletionCB& completion_cb) { | 320 void FileIOTestRunner::RunAllTests(const CompletionCB& completion_cb) { |
| 281 completion_cb_ = completion_cb; | 321 completion_cb_ = completion_cb; |
| 282 total_num_tests_ = remaining_tests_.size(); | 322 total_num_tests_ = remaining_tests_.size(); |
| 283 RunNextTest(); | 323 RunNextTest(); |
| 284 } | 324 } |
| 285 | 325 |
| 286 void FileIOTestRunner::RunNextTest() { | 326 void FileIOTestRunner::RunNextTest() { |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 445 void FileIOTest::OnTestComplete(bool success) { | 485 void FileIOTest::OnTestComplete(bool success) { |
| 446 while (!file_io_stack_.empty()) { | 486 while (!file_io_stack_.empty()) { |
| 447 file_io_stack_.top()->Close(); | 487 file_io_stack_.top()->Close(); |
| 448 file_io_stack_.pop(); | 488 file_io_stack_.pop(); |
| 449 } | 489 } |
| 450 FILE_IO_DVLOG(3) << test_name_ << (success ? " PASSED" : " FAILED"); | 490 FILE_IO_DVLOG(3) << test_name_ << (success ? " PASSED" : " FAILED"); |
| 451 base::ResetAndReturn(&completion_cb_).Run(success); | 491 base::ResetAndReturn(&completion_cb_).Run(success); |
| 452 } | 492 } |
| 453 | 493 |
| 454 } // namespace media | 494 } // namespace media |
| OLD | NEW |