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

Unified Diff: ipc/file_descriptor_set_posix_unittest.cc

Issue 835873004: IPC: Generalize FileDescriptorSet to MessageAttachmentSet (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Landing Created 5 years, 11 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 | « ipc/file_descriptor_set_posix.cc ('k') | ipc/ipc.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ipc/file_descriptor_set_posix_unittest.cc
diff --git a/ipc/file_descriptor_set_posix_unittest.cc b/ipc/file_descriptor_set_posix_unittest.cc
deleted file mode 100644
index 34ef465edc05cb5e519ef414b3b76e6243e8c418..0000000000000000000000000000000000000000
--- a/ipc/file_descriptor_set_posix_unittest.cc
+++ /dev/null
@@ -1,183 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// This test is POSIX only.
-
-#include "ipc/file_descriptor_set_posix.h"
-
-#include <unistd.h>
-#include <fcntl.h>
-
-#include "base/basictypes.h"
-#include "base/posix/eintr_wrapper.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace {
-
-// Get a safe file descriptor for test purposes.
-int GetSafeFd() {
- return open("/dev/null", O_RDONLY);
-}
-
-// Returns true if fd was already closed. Closes fd if not closed.
-bool VerifyClosed(int fd) {
- const int duped = dup(fd);
- if (duped != -1) {
- EXPECT_NE(IGNORE_EINTR(close(duped)), -1);
- EXPECT_NE(IGNORE_EINTR(close(fd)), -1);
- return false;
- }
- return true;
-}
-
-// The FileDescriptorSet will try and close some of the descriptor numbers
-// which we given it. This is the base descriptor value. It's great enough such
-// that no real descriptor will accidently be closed.
-static const int kFDBase = 50000;
-
-TEST(FileDescriptorSet, BasicAdd) {
- scoped_refptr<FileDescriptorSet> set(new FileDescriptorSet);
-
- ASSERT_EQ(set->size(), 0u);
- ASSERT_TRUE(set->empty());
- ASSERT_TRUE(set->AddToBorrow(kFDBase));
- ASSERT_EQ(set->size(), 1u);
- ASSERT_TRUE(!set->empty());
-
- // Empties the set and stops a warning about deleting a set with unconsumed
- // descriptors
- set->CommitAll();
-}
-
-TEST(FileDescriptorSet, BasicAddAndClose) {
- scoped_refptr<FileDescriptorSet> set(new FileDescriptorSet);
-
- ASSERT_EQ(set->size(), 0u);
- ASSERT_TRUE(set->empty());
- const int fd = GetSafeFd();
- ASSERT_TRUE(set->AddToOwn(base::ScopedFD(fd)));
- ASSERT_EQ(set->size(), 1u);
- ASSERT_TRUE(!set->empty());
-
- set->CommitAll();
-
- ASSERT_TRUE(VerifyClosed(fd));
-}
-TEST(FileDescriptorSet, MaxSize) {
- scoped_refptr<FileDescriptorSet> set(new FileDescriptorSet);
-
- for (size_t i = 0; i < FileDescriptorSet::kMaxDescriptorsPerMessage; ++i)
- ASSERT_TRUE(set->AddToBorrow(kFDBase + 1 + i));
-
- ASSERT_TRUE(!set->AddToBorrow(kFDBase));
-
- set->CommitAll();
-}
-
-TEST(FileDescriptorSet, SetDescriptors) {
- scoped_refptr<FileDescriptorSet> set(new FileDescriptorSet);
-
- ASSERT_TRUE(set->empty());
- set->AddDescriptorsToOwn(NULL, 0);
- ASSERT_TRUE(set->empty());
-
- const int fd = GetSafeFd();
- static const int fds[] = {fd};
- set->AddDescriptorsToOwn(fds, 1);
- ASSERT_TRUE(!set->empty());
- ASSERT_EQ(set->size(), 1u);
-
- set->CommitAll();
-
- ASSERT_TRUE(VerifyClosed(fd));
-}
-
-TEST(FileDescriptorSet, PeekDescriptors) {
- scoped_refptr<FileDescriptorSet> set(new FileDescriptorSet);
-
- set->PeekDescriptors(NULL);
- ASSERT_TRUE(set->AddToBorrow(kFDBase));
-
- int fds[1];
- fds[0] = 0;
- set->PeekDescriptors(fds);
- ASSERT_EQ(fds[0], kFDBase);
- set->CommitAll();
- ASSERT_TRUE(set->empty());
-}
-
-TEST(FileDescriptorSet, WalkInOrder) {
- scoped_refptr<FileDescriptorSet> set(new FileDescriptorSet);
-
- // 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);
-
- set->CommitAll();
-}
-
-TEST(FileDescriptorSet, WalkWrongOrder) {
- scoped_refptr<FileDescriptorSet> set(new FileDescriptorSet);
-
- // 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(2), -1);
-
- set->CommitAll();
-}
-
-TEST(FileDescriptorSet, WalkCycle) {
- scoped_refptr<FileDescriptorSet> set(new FileDescriptorSet);
-
- // 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();
-}
-
-TEST(FileDescriptorSet, DontClose) {
- scoped_refptr<FileDescriptorSet> set(new FileDescriptorSet);
-
- const int fd = GetSafeFd();
- ASSERT_TRUE(set->AddToBorrow(fd));
- set->CommitAll();
-
- ASSERT_FALSE(VerifyClosed(fd));
-}
-
-TEST(FileDescriptorSet, DoClose) {
- scoped_refptr<FileDescriptorSet> set(new FileDescriptorSet);
-
- const int fd = GetSafeFd();
- ASSERT_TRUE(set->AddToOwn(base::ScopedFD(fd)));
- set->CommitAll();
-
- ASSERT_TRUE(VerifyClosed(fd));
-}
-
-} // namespace
« no previous file with comments | « ipc/file_descriptor_set_posix.cc ('k') | ipc/ipc.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698