Finds an FD open since a previous call to GetOpenFileDescriptors(). |baseline_open_fds| is the result of a previous GetOpenFileDescriptors() call. Assumes that exactly one FD was opened since that call. Returns void so the implementation can use ASSERT_EQ.
| 110 | // |
| 111 | // Returns void so the implementation can use ASSERT_EQ. |
| 112 | void GetNewlyOpenedFileDescriptor( |
| 113 | const std::unordered_set<int>& baseline_open_fds, int* result_fd) { |
| 114 | std::unordered_set<int> open_fds; |
| 115 | GetOpenFileDescriptors(&open_fds); |
| 116 | for (int fd : baseline_open_fds) { |
| 117 | ASSERT_EQ(1, open_fds.count(fd)) |
| 118 | << "Previously opened file descriptor was closed during test setup"; |
| 119 | open_fds.erase(fd); |
| 120 | } |
| 121 | ASSERT_EQ(1, open_fds.size()) |
| 122 | << "Expected exactly one newly opened file descriptor during test setup"; |
| 123 | *result_fd = *open_fds.begin(); |
| 124 | } |
| 125 | |
| 126 | // Check that a fork()+exec()-ed child process does not have an extra open FD. |
| 127 | void CheckCloseOnExecDoesNotLeakFDs( |
no test coverage detected