summaryrefslogtreecommitdiffstats
path: root/ipc/file_descriptor_set_posix_unittest.cc
diff options
context:
space:
mode:
authormorrita <morrita@chromium.org>2014-09-24 13:11:45 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-24 20:11:59 +0000
commit96693856edc35a538f6ea8f0bd6ab55c75e3e823 (patch)
tree33bf28816211d8c3a5039db1d2f3a1ac74adf59e /ipc/file_descriptor_set_posix_unittest.cc
parent33169d9f2497a79fdde3ae51c5aa7266032526c7 (diff)
downloadchromium_src-96693856edc35a538f6ea8f0bd6ab55c75e3e823.zip
chromium_src-96693856edc35a538f6ea8f0bd6ab55c75e3e823.tar.gz
chromium_src-96693856edc35a538f6ea8f0bd6ab55c75e3e823.tar.bz2
IPC: Get rid of FileDescriptor usage from FileDescriptorSet and Message
This is a step toward to killing FileDescriptor. This change lets FiileDescriptorSet have both Files (for owning fds) and PlatformFiles (for non-owning fds). Doing this, we no longer need FileDescriptor which provides |auto_close| flag. BUG=415294 TEST=ipc_tests, ipc_mojo_unittests R=agl@chromium.org, jam@hcromium.org, viettrungluu@chromium.org Review URL: https://codereview.chromium.org/583473002 Cr-Commit-Position: refs/heads/master@{#296498}
Diffstat (limited to 'ipc/file_descriptor_set_posix_unittest.cc')
-rw-r--r--ipc/file_descriptor_set_posix_unittest.cc78
1 files changed, 42 insertions, 36 deletions
diff --git a/ipc/file_descriptor_set_posix_unittest.cc b/ipc/file_descriptor_set_posix_unittest.cc
index d9107f9..34ef465 100644
--- a/ipc/file_descriptor_set_posix_unittest.cc
+++ b/ipc/file_descriptor_set_posix_unittest.cc
@@ -41,7 +41,7 @@ TEST(FileDescriptorSet, BasicAdd) {
ASSERT_EQ(set->size(), 0u);
ASSERT_TRUE(set->empty());
- ASSERT_TRUE(set->Add(kFDBase));
+ ASSERT_TRUE(set->AddToBorrow(kFDBase));
ASSERT_EQ(set->size(), 1u);
ASSERT_TRUE(!set->empty());
@@ -56,7 +56,7 @@ TEST(FileDescriptorSet, BasicAddAndClose) {
ASSERT_EQ(set->size(), 0u);
ASSERT_TRUE(set->empty());
const int fd = GetSafeFd();
- ASSERT_TRUE(set->AddAndAutoClose(fd));
+ ASSERT_TRUE(set->AddToOwn(base::ScopedFD(fd)));
ASSERT_EQ(set->size(), 1u);
ASSERT_TRUE(!set->empty());
@@ -68,9 +68,9 @@ TEST(FileDescriptorSet, MaxSize) {
scoped_refptr<FileDescriptorSet> set(new FileDescriptorSet);
for (size_t i = 0; i < FileDescriptorSet::kMaxDescriptorsPerMessage; ++i)
- ASSERT_TRUE(set->Add(kFDBase + 1 + i));
+ ASSERT_TRUE(set->AddToBorrow(kFDBase + 1 + i));
- ASSERT_TRUE(!set->Add(kFDBase));
+ ASSERT_TRUE(!set->AddToBorrow(kFDBase));
set->CommitAll();
}
@@ -79,12 +79,12 @@ TEST(FileDescriptorSet, SetDescriptors) {
scoped_refptr<FileDescriptorSet> set(new FileDescriptorSet);
ASSERT_TRUE(set->empty());
- set->SetDescriptors(NULL, 0);
+ set->AddDescriptorsToOwn(NULL, 0);
ASSERT_TRUE(set->empty());
const int fd = GetSafeFd();
static const int fds[] = {fd};
- set->SetDescriptors(fds, 1);
+ set->AddDescriptorsToOwn(fds, 1);
ASSERT_TRUE(!set->empty());
ASSERT_EQ(set->size(), 1u);
@@ -93,15 +93,15 @@ TEST(FileDescriptorSet, SetDescriptors) {
ASSERT_TRUE(VerifyClosed(fd));
}
-TEST(FileDescriptorSet, GetDescriptors) {
+TEST(FileDescriptorSet, PeekDescriptors) {
scoped_refptr<FileDescriptorSet> set(new FileDescriptorSet);
- set->GetDescriptors(NULL);
- ASSERT_TRUE(set->Add(kFDBase));
+ set->PeekDescriptors(NULL);
+ ASSERT_TRUE(set->AddToBorrow(kFDBase));
int fds[1];
fds[0] = 0;
- set->GetDescriptors(fds);
+ set->PeekDescriptors(fds);
ASSERT_EQ(fds[0], kFDBase);
set->CommitAll();
ASSERT_TRUE(set->empty());
@@ -110,13 +110,15 @@ TEST(FileDescriptorSet, GetDescriptors) {
TEST(FileDescriptorSet, WalkInOrder) {
scoped_refptr<FileDescriptorSet> set(new FileDescriptorSet);
- ASSERT_TRUE(set->Add(kFDBase));
- ASSERT_TRUE(set->Add(kFDBase + 1));
- ASSERT_TRUE(set->Add(kFDBase + 2));
+ // TODO(morrita): This test is wrong. TakeDescriptorAt() shouldn't be
+ // used to retrieve borrowed descriptors. That never happens in production.
+ ASSERT_TRUE(set->AddToBorrow(kFDBase));
+ ASSERT_TRUE(set->AddToBorrow(kFDBase + 1));
+ ASSERT_TRUE(set->AddToBorrow(kFDBase + 2));
- ASSERT_EQ(set->GetDescriptorAt(0), kFDBase);
- ASSERT_EQ(set->GetDescriptorAt(1), kFDBase + 1);
- ASSERT_EQ(set->GetDescriptorAt(2), kFDBase + 2);
+ ASSERT_EQ(set->TakeDescriptorAt(0), kFDBase);
+ ASSERT_EQ(set->TakeDescriptorAt(1), kFDBase + 1);
+ ASSERT_EQ(set->TakeDescriptorAt(2), kFDBase + 2);
set->CommitAll();
}
@@ -124,12 +126,14 @@ TEST(FileDescriptorSet, WalkInOrder) {
TEST(FileDescriptorSet, WalkWrongOrder) {
scoped_refptr<FileDescriptorSet> set(new FileDescriptorSet);
- ASSERT_TRUE(set->Add(kFDBase));
- ASSERT_TRUE(set->Add(kFDBase + 1));
- ASSERT_TRUE(set->Add(kFDBase + 2));
+ // TODO(morrita): This test is wrong. TakeDescriptorAt() shouldn't be
+ // used to retrieve borrowed descriptors. That never happens in production.
+ ASSERT_TRUE(set->AddToBorrow(kFDBase));
+ ASSERT_TRUE(set->AddToBorrow(kFDBase + 1));
+ ASSERT_TRUE(set->AddToBorrow(kFDBase + 2));
- ASSERT_EQ(set->GetDescriptorAt(0), kFDBase);
- ASSERT_EQ(set->GetDescriptorAt(2), -1);
+ ASSERT_EQ(set->TakeDescriptorAt(0), kFDBase);
+ ASSERT_EQ(set->TakeDescriptorAt(2), -1);
set->CommitAll();
}
@@ -137,19 +141,21 @@ TEST(FileDescriptorSet, WalkWrongOrder) {
TEST(FileDescriptorSet, WalkCycle) {
scoped_refptr<FileDescriptorSet> set(new FileDescriptorSet);
- ASSERT_TRUE(set->Add(kFDBase));
- ASSERT_TRUE(set->Add(kFDBase + 1));
- ASSERT_TRUE(set->Add(kFDBase + 2));
-
- ASSERT_EQ(set->GetDescriptorAt(0), kFDBase);
- ASSERT_EQ(set->GetDescriptorAt(1), kFDBase + 1);
- ASSERT_EQ(set->GetDescriptorAt(2), kFDBase + 2);
- ASSERT_EQ(set->GetDescriptorAt(0), kFDBase);
- ASSERT_EQ(set->GetDescriptorAt(1), kFDBase + 1);
- ASSERT_EQ(set->GetDescriptorAt(2), kFDBase + 2);
- ASSERT_EQ(set->GetDescriptorAt(0), kFDBase);
- ASSERT_EQ(set->GetDescriptorAt(1), kFDBase + 1);
- ASSERT_EQ(set->GetDescriptorAt(2), kFDBase + 2);
+ // TODO(morrita): This test is wrong. TakeDescriptorAt() shouldn't be
+ // used to retrieve borrowed descriptors. That never happens in production.
+ ASSERT_TRUE(set->AddToBorrow(kFDBase));
+ ASSERT_TRUE(set->AddToBorrow(kFDBase + 1));
+ ASSERT_TRUE(set->AddToBorrow(kFDBase + 2));
+
+ ASSERT_EQ(set->TakeDescriptorAt(0), kFDBase);
+ ASSERT_EQ(set->TakeDescriptorAt(1), kFDBase + 1);
+ ASSERT_EQ(set->TakeDescriptorAt(2), kFDBase + 2);
+ ASSERT_EQ(set->TakeDescriptorAt(0), kFDBase);
+ ASSERT_EQ(set->TakeDescriptorAt(1), kFDBase + 1);
+ ASSERT_EQ(set->TakeDescriptorAt(2), kFDBase + 2);
+ ASSERT_EQ(set->TakeDescriptorAt(0), kFDBase);
+ ASSERT_EQ(set->TakeDescriptorAt(1), kFDBase + 1);
+ ASSERT_EQ(set->TakeDescriptorAt(2), kFDBase + 2);
set->CommitAll();
}
@@ -158,7 +164,7 @@ TEST(FileDescriptorSet, DontClose) {
scoped_refptr<FileDescriptorSet> set(new FileDescriptorSet);
const int fd = GetSafeFd();
- ASSERT_TRUE(set->Add(fd));
+ ASSERT_TRUE(set->AddToBorrow(fd));
set->CommitAll();
ASSERT_FALSE(VerifyClosed(fd));
@@ -168,7 +174,7 @@ TEST(FileDescriptorSet, DoClose) {
scoped_refptr<FileDescriptorSet> set(new FileDescriptorSet);
const int fd = GetSafeFd();
- ASSERT_TRUE(set->AddAndAutoClose(fd));
+ ASSERT_TRUE(set->AddToOwn(base::ScopedFD(fd)));
set->CommitAll();
ASSERT_TRUE(VerifyClosed(fd));