Index: sandbox/linux/services/credentials_unittest.cc |
diff --git a/sandbox/linux/services/credentials_unittest.cc b/sandbox/linux/services/credentials_unittest.cc |
index a54ed04ab783379a8da0a899fbae28be4dadad97..c701b9b73470b52da74fd519598715e97c99261c 100644 |
--- a/sandbox/linux/services/credentials_unittest.cc |
+++ b/sandbox/linux/services/credentials_unittest.cc |
@@ -57,6 +57,18 @@ TEST(Credentials, CreateAndDestroy) { |
scoped_ptr<Credentials> cred2(new Credentials); |
} |
+TEST(Credentials, CountOpenFds) { |
+ base::ScopedFD proc_fd(open("/proc", O_RDONLY | O_DIRECTORY)); |
+ ASSERT_TRUE(proc_fd.is_valid()); |
+ Credentials creds; |
+ int fd_count = creds.CountOpenFds(proc_fd.get()); |
+ int fd = open("/dev/null", O_RDONLY); |
+ ASSERT_LE(0, fd); |
+ EXPECT_EQ(fd_count + 1, creds.CountOpenFds(proc_fd.get())); |
+ ASSERT_EQ(0, IGNORE_EINTR(close(fd))); |
+ EXPECT_EQ(fd_count, creds.CountOpenFds(proc_fd.get())); |
+} |
+ |
TEST(Credentials, HasOpenDirectory) { |
Credentials creds; |
// No open directory should exist at startup. |