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

Unified Diff: media/cdm/ppapi/cdm_file_io_test.cc

Issue 563193002: CDM FileIOTest: Explictly test corrupted file. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@set_length
Patch Set: Created 6 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/cdm/ppapi/cdm_file_io_test.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/cdm/ppapi/cdm_file_io_test.cc
diff --git a/media/cdm/ppapi/cdm_file_io_test.cc b/media/cdm/ppapi/cdm_file_io_test.cc
index f171003f6247a3240b2863623fcc4761d9013307..56ba4161bb03ee618a15ff586c79f1ebcd64e263 100644
--- a/media/cdm/ppapi/cdm_file_io_test.cc
+++ b/media/cdm/ppapi/cdm_file_io_test.cc
@@ -75,6 +75,10 @@ FileIOTestRunner::FileIOTestRunner(const CreateFileIOCB& create_file_io_cb)
for (size_t i = 0; i < kLargeDataSize; ++i)
large_data_[i] = i % kuint8max;
+ // 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
+ 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.
+ corrupted_big_data_.resize(kBigDataSize, 0);
+
AddTests();
}
@@ -267,6 +271,36 @@ void FileIOTestRunner::AddTests() {
CLOSE_FILE
END_TEST_CASE
+ START_TEST_CASE("CloseDuringPendingOverwriteWithLargerData")
+ OPEN_FILE
+ EXPECT_FILE_OPENED(kSuccess)
+ WRITE_FILE(kData, kDataSize)
+ EXPECT_FILE_WRITTEN(kSuccess)
+ WRITE_FILE(kBigData, kBigDataSize)
+ CLOSE_FILE
+ // The file is corrupted. See http://crbug.com/410630
+ CREATE_FILE_IO
+ OPEN_FILE
+ EXPECT_FILE_OPENED(kSuccess)
+ READ_FILE
+ EXPECT_FILE_READ(kSuccess, &corrupted_big_data_[0], kBigDataSize)
+ END_TEST_CASE
+
+ START_TEST_CASE("CloseDuringPendingOverwriteWithSmallerData")
+ OPEN_FILE
+ EXPECT_FILE_OPENED(kSuccess)
+ WRITE_FILE(kBigData, kBigDataSize)
+ EXPECT_FILE_WRITTEN(kSuccess)
+ WRITE_FILE(kData, kDataSize)
+ CLOSE_FILE
+ // The file is corrupted. See http://crbug.com/410630
+ CREATE_FILE_IO
+ OPEN_FILE
+ EXPECT_FILE_OPENED(kSuccess)
+ READ_FILE
+ EXPECT_FILE_READ(kSuccess, kBigData, kDataSize)
+ END_TEST_CASE
+
START_TEST_CASE("CloseDuringPendingRead")
OPEN_FILE
EXPECT_FILE_OPENED(kSuccess)
@@ -274,6 +308,12 @@ void FileIOTestRunner::AddTests() {
EXPECT_FILE_WRITTEN(kSuccess)
READ_FILE
CLOSE_FILE
+ // Make sure the file is not modified.
+ CREATE_FILE_IO
+ OPEN_FILE
+ EXPECT_FILE_OPENED(kSuccess)
+ READ_FILE
+ EXPECT_FILE_READ(kSuccess, kData, kDataSize)
END_TEST_CASE
}
« no previous file with comments | « media/cdm/ppapi/cdm_file_io_test.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698