| Index: components/filesystem/file_impl_unittest.cc
|
| diff --git a/components/filesystem/file_impl_unittest.cc b/components/filesystem/file_impl_unittest.cc
|
| index 94c8eb4e75ee6c2d05eed73df868385d4136eb4c..443a4a9aacfb000a329365a30e972d56e2d20d31 100644
|
| --- a/components/filesystem/file_impl_unittest.cc
|
| +++ b/components/filesystem/file_impl_unittest.cc
|
| @@ -22,15 +22,16 @@ TEST_F(FileImplTest, CreateWriteCloseRenameOpenRead) {
|
| mojom::DirectoryPtr directory;
|
| GetTemporaryRoot(&directory);
|
| mojom::FileError error;
|
| + bool handled = false;
|
|
|
| {
|
| // Create my_file.
|
| mojom::FilePtr file;
|
| error = mojom::FileError::FAILED;
|
| - directory->OpenFile("my_file", GetProxy(&file),
|
| - mojom::kFlagWrite | mojom::kFlagCreate,
|
| - Capture(&error));
|
| - ASSERT_TRUE(directory.WaitForIncomingResponse());
|
| + handled =
|
| + directory->OpenFile("my_file", GetProxy(&file),
|
| + mojom::kFlagWrite | mojom::kFlagCreate, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Write to it.
|
| @@ -42,40 +43,41 @@ TEST_F(FileImplTest, CreateWriteCloseRenameOpenRead) {
|
| bytes_to_write.push_back(static_cast<uint8_t>('o'));
|
| error = mojom::FileError::FAILED;
|
| uint32_t num_bytes_written = 0;
|
| - file->Write(mojo::Array<uint8_t>::From(bytes_to_write), 0,
|
| - mojom::Whence::FROM_CURRENT,
|
| - Capture(&error, &num_bytes_written));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled =
|
| + file->Write(mojo::Array<uint8_t>::From(bytes_to_write), 0,
|
| + mojom::Whence::FROM_CURRENT, &error, &num_bytes_written);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| EXPECT_EQ(bytes_to_write.size(), num_bytes_written);
|
|
|
| // Close it.
|
| error = mojom::FileError::FAILED;
|
| - file->Close(Capture(&error));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Close((&error));
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| }
|
|
|
| // Rename it.
|
| error = mojom::FileError::FAILED;
|
| - directory->Rename("my_file", "your_file", Capture(&error));
|
| - ASSERT_TRUE(directory.WaitForIncomingResponse());
|
| + handled = directory->Rename("my_file", "your_file", &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| {
|
| // Open my_file again.
|
| mojom::FilePtr file;
|
| error = mojom::FileError::FAILED;
|
| - directory->OpenFile("your_file", GetProxy(&file),
|
| - mojom::kFlagRead | mojom::kFlagOpen, Capture(&error));
|
| - ASSERT_TRUE(directory.WaitForIncomingResponse());
|
| + bool handled =
|
| + directory->OpenFile("your_file", GetProxy(&file),
|
| + mojom::kFlagRead | mojom::kFlagOpen, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Read from it.
|
| mojo::Array<uint8_t> bytes_read;
|
| error = mojom::FileError::FAILED;
|
| - file->Read(3, 1, mojom::Whence::FROM_BEGIN, Capture(&error, &bytes_read));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Read(3, 1, mojom::Whence::FROM_BEGIN, &error, &bytes_read);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| ASSERT_EQ(3u, bytes_read.size());
|
| EXPECT_EQ(static_cast<uint8_t>('e'), bytes_read[0]);
|
| @@ -102,26 +104,26 @@ TEST_F(FileImplTest, CantWriteInReadMode) {
|
| // Create my_file.
|
| mojom::FilePtr file;
|
| error = mojom::FileError::FAILED;
|
| - directory->OpenFile("my_file", GetProxy(&file),
|
| - mojom::kFlagWrite | mojom::kFlagCreate,
|
| - Capture(&error));
|
| - ASSERT_TRUE(directory.WaitForIncomingResponse());
|
| + bool handled =
|
| + directory->OpenFile("my_file", GetProxy(&file),
|
| + mojom::kFlagWrite | mojom::kFlagCreate, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Write to it.
|
| error = mojom::FileError::FAILED;
|
| uint32_t num_bytes_written = 0;
|
| - file->Write(mojo::Array<uint8_t>::From(bytes_to_write), 0,
|
| - mojom::Whence::FROM_CURRENT,
|
| - Capture(&error, &num_bytes_written));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled =
|
| + file->Write(mojo::Array<uint8_t>::From(bytes_to_write), 0,
|
| + mojom::Whence::FROM_CURRENT, &error, &num_bytes_written);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| EXPECT_EQ(bytes_to_write.size(), num_bytes_written);
|
|
|
| // Close it.
|
| error = mojom::FileError::FAILED;
|
| - file->Close(Capture(&error));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Close((&error));
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| }
|
|
|
| @@ -129,26 +131,27 @@ TEST_F(FileImplTest, CantWriteInReadMode) {
|
| // Open my_file again, this time with read only mode.
|
| mojom::FilePtr file;
|
| error = mojom::FileError::FAILED;
|
| - directory->OpenFile("my_file", GetProxy(&file),
|
| - mojom::kFlagRead | mojom::kFlagOpen, Capture(&error));
|
| - ASSERT_TRUE(directory.WaitForIncomingResponse());
|
| + bool handled =
|
| + directory->OpenFile("my_file", GetProxy(&file),
|
| + mojom::kFlagRead | mojom::kFlagOpen, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Try to write in read mode; it should fail.
|
| error = mojom::FileError::OK;
|
| uint32_t num_bytes_written = 0;
|
| - file->Write(mojo::Array<uint8_t>::From(bytes_to_write), 0,
|
| - mojom::Whence::FROM_CURRENT,
|
| - Capture(&error, &num_bytes_written));
|
| + handled =
|
| + file->Write(mojo::Array<uint8_t>::From(bytes_to_write), 0,
|
| + mojom::Whence::FROM_CURRENT, &error, &num_bytes_written);
|
|
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::FAILED, error);
|
| EXPECT_EQ(0u, num_bytes_written);
|
|
|
| // Close it.
|
| error = mojom::FileError::FAILED;
|
| - file->Close(Capture(&error));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Close((&error));
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| }
|
| }
|
| @@ -162,10 +165,10 @@ TEST_F(FileImplTest, OpenInAppendMode) {
|
| // Create my_file.
|
| mojom::FilePtr file;
|
| error = mojom::FileError::FAILED;
|
| - directory->OpenFile("my_file", GetProxy(&file),
|
| - mojom::kFlagWrite | mojom::kFlagCreate,
|
| - Capture(&error));
|
| - ASSERT_TRUE(directory.WaitForIncomingResponse());
|
| + bool handled =
|
| + directory->OpenFile("my_file", GetProxy(&file),
|
| + mojom::kFlagWrite | mojom::kFlagCreate, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Write to it.
|
| @@ -177,17 +180,17 @@ TEST_F(FileImplTest, OpenInAppendMode) {
|
| bytes_to_write.push_back(static_cast<uint8_t>('o'));
|
| error = mojom::FileError::FAILED;
|
| uint32_t num_bytes_written = 0;
|
| - file->Write(mojo::Array<uint8_t>::From(bytes_to_write), 0,
|
| - mojom::Whence::FROM_CURRENT,
|
| - Capture(&error, &num_bytes_written));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled =
|
| + file->Write(mojo::Array<uint8_t>::From(bytes_to_write), 0,
|
| + mojom::Whence::FROM_CURRENT, &error, &num_bytes_written);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| EXPECT_EQ(bytes_to_write.size(), num_bytes_written);
|
|
|
| // Close it.
|
| error = mojom::FileError::FAILED;
|
| - file->Close(Capture(&error));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Close(&error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| }
|
|
|
| @@ -195,9 +198,10 @@ TEST_F(FileImplTest, OpenInAppendMode) {
|
| // Append to my_file.
|
| mojom::FilePtr file;
|
| error = mojom::FileError::FAILED;
|
| - directory->OpenFile("my_file", GetProxy(&file),
|
| - mojom::kFlagAppend | mojom::kFlagOpen, Capture(&error));
|
| - ASSERT_TRUE(directory.WaitForIncomingResponse());
|
| + bool handled =
|
| + directory->OpenFile("my_file", GetProxy(&file),
|
| + mojom::kFlagAppend | mojom::kFlagOpen, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Write to it.
|
| @@ -211,17 +215,17 @@ TEST_F(FileImplTest, OpenInAppendMode) {
|
| bytes_to_write.push_back(static_cast<uint8_t>('e'));
|
| error = mojom::FileError::FAILED;
|
| uint32_t num_bytes_written = 0;
|
| - file->Write(mojo::Array<uint8_t>::From(bytes_to_write), 0,
|
| - mojom::Whence::FROM_CURRENT,
|
| - Capture(&error, &num_bytes_written));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled =
|
| + file->Write(mojo::Array<uint8_t>::From(bytes_to_write), 0,
|
| + mojom::Whence::FROM_CURRENT, &error, &num_bytes_written);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| EXPECT_EQ(bytes_to_write.size(), num_bytes_written);
|
|
|
| // Close it.
|
| error = mojom::FileError::FAILED;
|
| - file->Close(Capture(&error));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Close((&error));
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| }
|
|
|
| @@ -229,16 +233,17 @@ TEST_F(FileImplTest, OpenInAppendMode) {
|
| // Open my_file again.
|
| mojom::FilePtr file;
|
| error = mojom::FileError::FAILED;
|
| - directory->OpenFile("my_file", GetProxy(&file),
|
| - mojom::kFlagRead | mojom::kFlagOpen, Capture(&error));
|
| - ASSERT_TRUE(directory.WaitForIncomingResponse());
|
| + bool handled =
|
| + directory->OpenFile("my_file", GetProxy(&file),
|
| + mojom::kFlagRead | mojom::kFlagOpen, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Read from it.
|
| mojo::Array<uint8_t> bytes_read;
|
| error = mojom::FileError::FAILED;
|
| - file->Read(12, 0, mojom::Whence::FROM_BEGIN, Capture(&error, &bytes_read));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Read(12, 0, mojom::Whence::FROM_BEGIN, &error, &bytes_read);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| ASSERT_EQ(12u, bytes_read.size());
|
| EXPECT_EQ(static_cast<uint8_t>('l'), bytes_read[3]);
|
| @@ -257,10 +262,10 @@ TEST_F(FileImplTest, OpenInTruncateMode) {
|
| // Create my_file.
|
| mojom::FilePtr file;
|
| error = mojom::FileError::FAILED;
|
| - directory->OpenFile("my_file", GetProxy(&file),
|
| - mojom::kFlagWrite | mojom::kFlagCreate,
|
| - Capture(&error));
|
| - ASSERT_TRUE(directory.WaitForIncomingResponse());
|
| + bool handled =
|
| + directory->OpenFile("my_file", GetProxy(&file),
|
| + mojom::kFlagWrite | mojom::kFlagCreate, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Write to it.
|
| @@ -272,17 +277,17 @@ TEST_F(FileImplTest, OpenInTruncateMode) {
|
| bytes_to_write.push_back(static_cast<uint8_t>('o'));
|
| error = mojom::FileError::FAILED;
|
| uint32_t num_bytes_written = 0;
|
| - file->Write(mojo::Array<uint8_t>::From(bytes_to_write), 0,
|
| - mojom::Whence::FROM_CURRENT,
|
| - Capture(&error, &num_bytes_written));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled =
|
| + file->Write(mojo::Array<uint8_t>::From(bytes_to_write), 0,
|
| + mojom::Whence::FROM_CURRENT, &error, &num_bytes_written);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| EXPECT_EQ(bytes_to_write.size(), num_bytes_written);
|
|
|
| // Close it.
|
| error = mojom::FileError::FAILED;
|
| - file->Close(Capture(&error));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Close(&error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| }
|
|
|
| @@ -290,10 +295,10 @@ TEST_F(FileImplTest, OpenInTruncateMode) {
|
| // Append to my_file.
|
| mojom::FilePtr file;
|
| error = mojom::FileError::FAILED;
|
| - directory->OpenFile("my_file", GetProxy(&file),
|
| - mojom::kFlagWrite | mojom::kFlagOpenTruncated,
|
| - Capture(&error));
|
| - ASSERT_TRUE(directory.WaitForIncomingResponse());
|
| + bool handled = directory->OpenFile(
|
| + "my_file", GetProxy(&file),
|
| + mojom::kFlagWrite | mojom::kFlagOpenTruncated, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Write to it.
|
| @@ -307,17 +312,17 @@ TEST_F(FileImplTest, OpenInTruncateMode) {
|
| bytes_to_write.push_back(static_cast<uint8_t>('e'));
|
| error = mojom::FileError::FAILED;
|
| uint32_t num_bytes_written = 0;
|
| - file->Write(mojo::Array<uint8_t>::From(bytes_to_write), 0,
|
| - mojom::Whence::FROM_CURRENT,
|
| - Capture(&error, &num_bytes_written));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled =
|
| + file->Write(mojo::Array<uint8_t>::From(bytes_to_write), 0,
|
| + mojom::Whence::FROM_CURRENT, &error, &num_bytes_written);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| EXPECT_EQ(bytes_to_write.size(), num_bytes_written);
|
|
|
| // Close it.
|
| error = mojom::FileError::FAILED;
|
| - file->Close(Capture(&error));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Close(&error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| }
|
|
|
| @@ -325,16 +330,17 @@ TEST_F(FileImplTest, OpenInTruncateMode) {
|
| // Open my_file again.
|
| mojom::FilePtr file;
|
| error = mojom::FileError::FAILED;
|
| - directory->OpenFile("my_file", GetProxy(&file),
|
| - mojom::kFlagRead | mojom::kFlagOpen, Capture(&error));
|
| - ASSERT_TRUE(directory.WaitForIncomingResponse());
|
| + bool handled =
|
| + directory->OpenFile("my_file", GetProxy(&file),
|
| + mojom::kFlagRead | mojom::kFlagOpen, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Read from it.
|
| mojo::Array<uint8_t> bytes_read;
|
| error = mojom::FileError::FAILED;
|
| - file->Read(7, 0, mojom::Whence::FROM_BEGIN, Capture(&error, &bytes_read));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Read(7, 0, mojom::Whence::FROM_BEGIN, &error, &bytes_read);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| ASSERT_EQ(7u, bytes_read.size());
|
| EXPECT_EQ(static_cast<uint8_t>('g'), bytes_read[0]);
|
| @@ -354,16 +360,17 @@ TEST_F(FileImplTest, StatTouch) {
|
| // Create my_file.
|
| mojom::FilePtr file;
|
| error = mojom::FileError::FAILED;
|
| - directory->OpenFile("my_file", GetProxy(&file),
|
| - mojom::kFlagWrite | mojom::kFlagCreate, Capture(&error));
|
| - ASSERT_TRUE(directory.WaitForIncomingResponse());
|
| + bool handled =
|
| + directory->OpenFile("my_file", GetProxy(&file),
|
| + mojom::kFlagWrite | mojom::kFlagCreate, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Stat it.
|
| error = mojom::FileError::FAILED;
|
| mojom::FileInformationPtr file_info;
|
| - file->Stat(Capture(&error, &file_info));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Stat(&error, &file_info);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| ASSERT_FALSE(file_info.is_null());
|
| EXPECT_EQ(mojom::FsFileType::REGULAR_FILE, file_info->type);
|
| @@ -378,15 +385,15 @@ TEST_F(FileImplTest, StatTouch) {
|
| t->now = false;
|
| const int64_t kPartyTime1 = 1234567890; // Party like it's 2009-02-13.
|
| t->seconds = kPartyTime1;
|
| - file->Touch(std::move(t), nullptr, Capture(&error));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Touch(std::move(t), nullptr, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Stat again.
|
| error = mojom::FileError::FAILED;
|
| file_info.reset();
|
| - file->Stat(Capture(&error, &file_info));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Stat(&error, &file_info);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| ASSERT_FALSE(file_info.is_null());
|
| EXPECT_EQ(kPartyTime1, file_info->atime);
|
| @@ -397,15 +404,15 @@ TEST_F(FileImplTest, StatTouch) {
|
| t->now = false;
|
| const int64_t kPartyTime2 = 1425059525; // No time like the present.
|
| t->seconds = kPartyTime2;
|
| - file->Touch(nullptr, std::move(t), Capture(&error));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Touch(nullptr, std::move(t), &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Stat again.
|
| error = mojom::FileError::FAILED;
|
| file_info.reset();
|
| - file->Stat(Capture(&error, &file_info));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Stat(&error, &file_info);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| ASSERT_FALSE(file_info.is_null());
|
| EXPECT_EQ(kPartyTime1, file_info->atime);
|
| @@ -424,18 +431,20 @@ TEST_F(FileImplTest, TellSeek) {
|
| // Create my_file.
|
| mojom::FilePtr file;
|
| error = mojom::FileError::FAILED;
|
| - directory->OpenFile("my_file", GetProxy(&file),
|
| - mojom::kFlagWrite | mojom::kFlagCreate, Capture(&error));
|
| - ASSERT_TRUE(directory.WaitForIncomingResponse());
|
| + bool handled =
|
| + directory->OpenFile("my_file", GetProxy(&file),
|
| + mojom::kFlagWrite | mojom::kFlagCreate, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Write to it.
|
| std::vector<uint8_t> bytes_to_write(1000, '!');
|
| error = mojom::FileError::FAILED;
|
| uint32_t num_bytes_written = 0;
|
| - file->Write(mojo::Array<uint8_t>::From(bytes_to_write), 0,
|
| - mojom::Whence::FROM_CURRENT, Capture(&error, &num_bytes_written));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled =
|
| + file->Write(mojo::Array<uint8_t>::From(bytes_to_write), 0,
|
| + mojom::Whence::FROM_CURRENT, &error, &num_bytes_written);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| EXPECT_EQ(bytes_to_write.size(), num_bytes_written);
|
| const int size = static_cast<int>(num_bytes_written);
|
| @@ -443,8 +452,8 @@ TEST_F(FileImplTest, TellSeek) {
|
| // Tell.
|
| error = mojom::FileError::FAILED;
|
| int64_t position = -1;
|
| - file->Tell(Capture(&error, &position));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Tell(&error, &position);
|
| + ASSERT_TRUE(handled);
|
| // Should be at the end.
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| EXPECT_EQ(size, position);
|
| @@ -452,48 +461,48 @@ TEST_F(FileImplTest, TellSeek) {
|
| // Seek back 100.
|
| error = mojom::FileError::FAILED;
|
| position = -1;
|
| - file->Seek(-100, mojom::Whence::FROM_CURRENT, Capture(&error, &position));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Seek(-100, mojom::Whence::FROM_CURRENT, &error, &position);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| EXPECT_EQ(size - 100, position);
|
|
|
| // Tell.
|
| error = mojom::FileError::FAILED;
|
| position = -1;
|
| - file->Tell(Capture(&error, &position));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Tell(&error, &position);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| EXPECT_EQ(size - 100, position);
|
|
|
| // Seek to 123 from start.
|
| error = mojom::FileError::FAILED;
|
| position = -1;
|
| - file->Seek(123, mojom::Whence::FROM_BEGIN, Capture(&error, &position));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Seek(123, mojom::Whence::FROM_BEGIN, &error, &position);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| EXPECT_EQ(123, position);
|
|
|
| // Tell.
|
| error = mojom::FileError::FAILED;
|
| position = -1;
|
| - file->Tell(Capture(&error, &position));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Tell(&error, &position);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| EXPECT_EQ(123, position);
|
|
|
| // Seek to 123 back from end.
|
| error = mojom::FileError::FAILED;
|
| position = -1;
|
| - file->Seek(-123, mojom::Whence::FROM_END, Capture(&error, &position));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Seek(-123, mojom::Whence::FROM_END, &error, &position);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| EXPECT_EQ(size - 123, position);
|
|
|
| // Tell.
|
| error = mojom::FileError::FAILED;
|
| position = -1;
|
| - file->Tell(Capture(&error, &position));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Tell(&error, &position);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| EXPECT_EQ(size - 123, position);
|
|
|
| @@ -509,10 +518,10 @@ TEST_F(FileImplTest, Dup) {
|
| // Create my_file.
|
| mojom::FilePtr file1;
|
| error = mojom::FileError::FAILED;
|
| - directory->OpenFile("my_file", GetProxy(&file1),
|
| - mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate,
|
| - Capture(&error));
|
| - ASSERT_TRUE(directory.WaitForIncomingResponse());
|
| + bool handled = directory->OpenFile(
|
| + "my_file", GetProxy(&file1),
|
| + mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Write to it.
|
| @@ -524,10 +533,10 @@ TEST_F(FileImplTest, Dup) {
|
| bytes_to_write.push_back(static_cast<uint8_t>('o'));
|
| error = mojom::FileError::FAILED;
|
| uint32_t num_bytes_written = 0;
|
| - file1->Write(mojo::Array<uint8_t>::From(bytes_to_write), 0,
|
| - mojom::Whence::FROM_CURRENT,
|
| - Capture(&error, &num_bytes_written));
|
| - ASSERT_TRUE(file1.WaitForIncomingResponse());
|
| + handled =
|
| + file1->Write(mojo::Array<uint8_t>::From(bytes_to_write), 0,
|
| + mojom::Whence::FROM_CURRENT, &error, &num_bytes_written);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| EXPECT_EQ(bytes_to_write.size(), num_bytes_written);
|
| const int end_hello_pos = static_cast<int>(num_bytes_written);
|
| @@ -535,15 +544,15 @@ TEST_F(FileImplTest, Dup) {
|
| // Dup it.
|
| mojom::FilePtr file2;
|
| error = mojom::FileError::FAILED;
|
| - file1->Dup(GetProxy(&file2), Capture(&error));
|
| - ASSERT_TRUE(file1.WaitForIncomingResponse());
|
| + handled = file1->Dup(GetProxy(&file2), &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // |file2| should have the same position.
|
| error = mojom::FileError::FAILED;
|
| int64_t position = -1;
|
| - file2->Tell(Capture(&error, &position));
|
| - ASSERT_TRUE(file2.WaitForIncomingResponse());
|
| + handled = file2->Tell(&error, &position);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| EXPECT_EQ(end_hello_pos, position);
|
|
|
| @@ -556,10 +565,10 @@ TEST_F(FileImplTest, Dup) {
|
| more_bytes_to_write.push_back(static_cast<uint8_t>('d'));
|
| error = mojom::FileError::FAILED;
|
| num_bytes_written = 0;
|
| - file2->Write(mojo::Array<uint8_t>::From(more_bytes_to_write), 0,
|
| - mojom::Whence::FROM_CURRENT,
|
| - Capture(&error, &num_bytes_written));
|
| - ASSERT_TRUE(file2.WaitForIncomingResponse());
|
| + handled =
|
| + file2->Write(mojo::Array<uint8_t>::From(more_bytes_to_write), 0,
|
| + mojom::Whence::FROM_CURRENT, &error, &num_bytes_written);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| EXPECT_EQ(more_bytes_to_write.size(), num_bytes_written);
|
| const int end_world_pos = end_hello_pos + static_cast<int>(num_bytes_written);
|
| @@ -567,22 +576,23 @@ TEST_F(FileImplTest, Dup) {
|
| // |file1| should have the same position.
|
| error = mojom::FileError::FAILED;
|
| position = -1;
|
| - file1->Tell(Capture(&error, &position));
|
| - ASSERT_TRUE(file1.WaitForIncomingResponse());
|
| + handled = file1->Tell(&error, &position);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| EXPECT_EQ(end_world_pos, position);
|
|
|
| // Close |file1|.
|
| error = mojom::FileError::FAILED;
|
| - file1->Close(Capture(&error));
|
| - ASSERT_TRUE(file1.WaitForIncomingResponse());
|
| + handled = file1->Close(&error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Read everything using |file2|.
|
| mojo::Array<uint8_t> bytes_read;
|
| error = mojom::FileError::FAILED;
|
| - file2->Read(1000, 0, mojom::Whence::FROM_BEGIN, Capture(&error, &bytes_read));
|
| - ASSERT_TRUE(file2.WaitForIncomingResponse());
|
| + handled =
|
| + file2->Read(1000, 0, mojom::Whence::FROM_BEGIN, &error, &bytes_read);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| ASSERT_EQ(static_cast<size_t>(end_world_pos), bytes_read.size());
|
| // Just check the first and last bytes.
|
| @@ -603,41 +613,43 @@ TEST_F(FileImplTest, Truncate) {
|
| // Create my_file.
|
| mojom::FilePtr file;
|
| error = mojom::FileError::FAILED;
|
| - directory->OpenFile("my_file", GetProxy(&file),
|
| - mojom::kFlagWrite | mojom::kFlagCreate, Capture(&error));
|
| - ASSERT_TRUE(directory.WaitForIncomingResponse());
|
| + bool handled =
|
| + directory->OpenFile("my_file", GetProxy(&file),
|
| + mojom::kFlagWrite | mojom::kFlagCreate, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Write to it.
|
| std::vector<uint8_t> bytes_to_write(kInitialSize, '!');
|
| error = mojom::FileError::FAILED;
|
| uint32_t num_bytes_written = 0;
|
| - file->Write(mojo::Array<uint8_t>::From(bytes_to_write), 0,
|
| - mojom::Whence::FROM_CURRENT, Capture(&error, &num_bytes_written));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled =
|
| + file->Write(mojo::Array<uint8_t>::From(bytes_to_write), 0,
|
| + mojom::Whence::FROM_CURRENT, &error, &num_bytes_written);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| EXPECT_EQ(kInitialSize, num_bytes_written);
|
|
|
| // Stat it.
|
| error = mojom::FileError::FAILED;
|
| mojom::FileInformationPtr file_info;
|
| - file->Stat(Capture(&error, &file_info));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Stat(&error, &file_info);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| ASSERT_FALSE(file_info.is_null());
|
| EXPECT_EQ(kInitialSize, file_info->size);
|
|
|
| // Truncate it.
|
| error = mojom::FileError::FAILED;
|
| - file->Truncate(kTruncatedSize, Capture(&error));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Truncate(kTruncatedSize, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Stat again.
|
| error = mojom::FileError::FAILED;
|
| file_info.reset();
|
| - file->Stat(Capture(&error, &file_info));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Stat(&error, &file_info);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| ASSERT_FALSE(file_info.is_null());
|
| EXPECT_EQ(kTruncatedSize, file_info->size);
|
| @@ -652,18 +664,17 @@ TEST_F(FileImplTest, AsHandle) {
|
| // Create my_file.
|
| mojom::FilePtr file1;
|
| error = mojom::FileError::FAILED;
|
| - directory->OpenFile(
|
| + bool handled = directory->OpenFile(
|
| "my_file", GetProxy(&file1),
|
| - mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate,
|
| - Capture(&error));
|
| - ASSERT_TRUE(directory.WaitForIncomingResponse());
|
| + mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Fetch the handle
|
| error = mojom::FileError::FAILED;
|
| mojo::ScopedHandle handle;
|
| - file1->AsHandle(Capture(&error, &handle));
|
| - ASSERT_TRUE(file1.WaitForIncomingResponse());
|
| + handled = file1->AsHandle(&error, &handle);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Pull a file descriptor out of the scoped handle.
|
| @@ -682,16 +693,17 @@ TEST_F(FileImplTest, AsHandle) {
|
| // Reopen my_file.
|
| mojom::FilePtr file2;
|
| error = mojom::FileError::FAILED;
|
| - directory->OpenFile("my_file", GetProxy(&file2),
|
| - mojom::kFlagRead | mojom::kFlagOpen, Capture(&error));
|
| - ASSERT_TRUE(directory.WaitForIncomingResponse());
|
| + bool handled =
|
| + directory->OpenFile("my_file", GetProxy(&file2),
|
| + mojom::kFlagRead | mojom::kFlagOpen, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Verify that we wrote data raw on the file descriptor.
|
| mojo::Array<uint8_t> bytes_read;
|
| error = mojom::FileError::FAILED;
|
| - file2->Read(5, 0, mojom::Whence::FROM_BEGIN, Capture(&error, &bytes_read));
|
| - ASSERT_TRUE(file2.WaitForIncomingResponse());
|
| + handled = file2->Read(5, 0, mojom::Whence::FROM_BEGIN, &error, &bytes_read);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| ASSERT_EQ(5u, bytes_read.size());
|
| EXPECT_EQ(static_cast<uint8_t>('h'), bytes_read[0]);
|
| @@ -710,22 +722,22 @@ TEST_F(FileImplTest, SimpleLockUnlock) {
|
| // Create my_file.
|
| mojom::FilePtr file;
|
| error = mojom::FileError::FAILED;
|
| - directory->OpenFile("my_file", GetProxy(&file),
|
| - mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate,
|
| - Capture(&error));
|
| - ASSERT_TRUE(directory.WaitForIncomingResponse());
|
| + bool handled = directory->OpenFile(
|
| + "my_file", GetProxy(&file),
|
| + mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Lock the file.
|
| error = mojom::FileError::FAILED;
|
| - file->Lock(Capture(&error));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Lock(&error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Unlock the file.
|
| error = mojom::FileError::FAILED;
|
| - file->Unlock(Capture(&error));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Unlock(&error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| }
|
|
|
| @@ -737,22 +749,22 @@ TEST_F(FileImplTest, CantDoubleLock) {
|
| // Create my_file.
|
| mojom::FilePtr file;
|
| error = mojom::FileError::FAILED;
|
| - directory->OpenFile("my_file", GetProxy(&file),
|
| - mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate,
|
| - Capture(&error));
|
| - ASSERT_TRUE(directory.WaitForIncomingResponse());
|
| + bool handled = directory->OpenFile(
|
| + "my_file", GetProxy(&file),
|
| + mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Lock the file.
|
| error = mojom::FileError::FAILED;
|
| - file->Lock(Capture(&error));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Lock(&error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Lock the file again.
|
| error = mojom::FileError::OK;
|
| - file->Lock(Capture(&error));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Lock(&error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::FAILED, error);
|
| }
|
|
|
| @@ -765,17 +777,16 @@ TEST_F(FileImplTest, ClosingFileClearsLock) {
|
| // Create my_file.
|
| mojom::FilePtr file;
|
| error = mojom::FileError::FAILED;
|
| - directory->OpenFile(
|
| + bool handled = directory->OpenFile(
|
| "my_file", GetProxy(&file),
|
| - mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagOpenAlways,
|
| - Capture(&error));
|
| - ASSERT_TRUE(directory.WaitForIncomingResponse());
|
| + mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagOpenAlways, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // Lock the file.
|
| error = mojom::FileError::FAILED;
|
| - file->Lock(Capture(&error));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Lock(&error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| }
|
|
|
| @@ -783,17 +794,16 @@ TEST_F(FileImplTest, ClosingFileClearsLock) {
|
| // Open the file again.
|
| mojom::FilePtr file;
|
| error = mojom::FileError::FAILED;
|
| - directory->OpenFile(
|
| + bool handled = directory->OpenFile(
|
| "my_file", GetProxy(&file),
|
| - mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagOpenAlways,
|
| - Capture(&error));
|
| - ASSERT_TRUE(directory.WaitForIncomingResponse());
|
| + mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagOpenAlways, &error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
|
|
| // The file shouldn't be locked (and we check by trying to lock it).
|
| error = mojom::FileError::FAILED;
|
| - file->Lock(Capture(&error));
|
| - ASSERT_TRUE(file.WaitForIncomingResponse());
|
| + handled = file->Lock(&error);
|
| + ASSERT_TRUE(handled);
|
| EXPECT_EQ(mojom::FileError::OK, error);
|
| }
|
| }
|
|
|