summaryrefslogtreecommitdiff
path: root/tests/fdtrack_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/fdtrack_test.cpp')
-rw-r--r--tests/fdtrack_test.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/fdtrack_test.cpp b/tests/fdtrack_test.cpp
index bfa3dd144..44aa033a0 100644
--- a/tests/fdtrack_test.cpp
+++ b/tests/fdtrack_test.cpp
@@ -257,4 +257,24 @@ FDTRACK_TEST(recvmsg, ({
ASSERT_EQ(3, ReceiveFileDescriptors(sockets[1], buf, sizeof(buf), &received_fd));
received_fd.release();
}));
+
+FDTRACK_TEST_NAME(vfork, "open", ({
+ int fd = open("/dev/null", O_RDONLY);
+
+ pid_t rc = vfork();
+ ASSERT_NE(-1, rc);
+
+ if (rc == 0) {
+ close(fd);
+ _exit(0);
+ }
+
+ int status;
+ pid_t wait_result = waitpid(rc, &status, 0);
+ ASSERT_EQ(wait_result, rc);
+ ASSERT_TRUE(WIFEXITED(status));
+ ASSERT_EQ(0, WEXITSTATUS(status));
+
+ fd;
+}));
// clang-format on