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

Unified Diff: ppapi/tests/test_file_io.cc

Issue 8764003: Implement a proxy for Pepper FileIO. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Homestarmy Created 9 years 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 | « ppapi/shared_impl/ppb_file_io_shared.cc ('k') | ppapi/tests/test_url_loader.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/tests/test_file_io.cc
diff --git a/ppapi/tests/test_file_io.cc b/ppapi/tests/test_file_io.cc
index b04c7e9e34fca470c01e2daecec3456045bc43ea..057fdef36ed4677b3711e35eb8baac22cb44213c 100644
--- a/ppapi/tests/test_file_io.cc
+++ b/ppapi/tests/test_file_io.cc
@@ -903,6 +903,31 @@ std::string TestFileIO::TestNotAllowMixedReadWrite() {
if (rv_2 != PP_ERROR_INPROGRESS)
return ReportError("FileIO::Read", rv_2);
+ // Cannot query while the write is pending.
+ TestCompletionCallback callback_3(instance_->pp_instance(), force_async_);
+ PP_FileInfo info;
+ int32_t rv_3 = file_io.Query(&info, callback_3);
+ if (rv_3 == PP_OK_COMPLETIONPENDING)
+ rv_3 = callback_3.WaitForResult();
+ if (rv_3 != PP_ERROR_INPROGRESS)
+ return ReportError("FileIO::Query", rv_3);
+
+ // Cannot touch while the write is pending.
+ TestCompletionCallback callback_4(instance_->pp_instance(), force_async_);
+ int32_t rv_4 = file_io.Touch(1234.0, 5678.0, callback_4);
+ if (rv_4 == PP_OK_COMPLETIONPENDING)
+ rv_4 = callback_4.WaitForResult();
+ if (rv_4 != PP_ERROR_INPROGRESS)
+ return ReportError("FileIO::Touch", rv_4);
+
+ // Cannot set length while the write is pending.
+ TestCompletionCallback callback_5(instance_->pp_instance(), force_async_);
+ int32_t rv_5 = file_io.SetLength(123, callback_5);
+ if (rv_5 == PP_OK_COMPLETIONPENDING)
+ rv_5 = callback_5.WaitForResult();
+ if (rv_5 != PP_ERROR_INPROGRESS)
+ return ReportError("FileIO::SetLength", rv_5);
+
callback_1.WaitForResult();
PASS();
@@ -940,10 +965,14 @@ std::string TestFileIO::TestWillWriteWillSetLength() {
if (!trusted)
return ReportError("FileIOTrusted", PP_ERROR_FAILED);
- // Get file descriptor.
- int32_t fd = trusted->GetOSFileDescriptor(file_io.pp_resource());
- if (fd < 0)
- return "FileIO::GetOSFileDescriptor() returned a bad file descriptor.";
+ // Get file descriptor. This is only supported in-process for now, so don't
+ // test out of process.
+ const PPB_Testing_Dev* testing_interface = GetTestingInterface();
+ if (testing_interface && !testing_interface->IsOutOfProcess()) {
+ int32_t fd = trusted->GetOSFileDescriptor(file_io.pp_resource());
+ if (fd < 0)
+ return "FileIO::GetOSFileDescriptor() returned a bad file descriptor.";
+ }
// Calling WillWrite.
rv = trusted->WillWrite(
« no previous file with comments | « ppapi/shared_impl/ppb_file_io_shared.cc ('k') | ppapi/tests/test_url_loader.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698