Unverified Commit a79975f0 authored by Christian Brauner's avatar Christian Brauner
Browse files

selftests/pidfd: add third PIDFD_INFO_EXIT selftest

parent 86c1dfdd
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -161,4 +161,20 @@ TEST_F(pidfd_info, sigkill_reaped)
	ASSERT_EQ(WTERMSIG(info.exit_code), SIGKILL);
}

TEST_F(pidfd_info, success_exit)
{
	struct pidfd_info info = {
		.mask = PIDFD_INFO_CGROUPID,
	};

	/* Process has exited but not been reaped so this must work. */
	ASSERT_EQ(ioctl(self->child_pidfd3, PIDFD_GET_INFO, &info), 0);

	info.mask = PIDFD_INFO_CGROUPID | PIDFD_INFO_EXIT;
	ASSERT_EQ(ioctl(self->child_pidfd3, PIDFD_GET_INFO, &info), 0);
	ASSERT_TRUE(!!(info.mask & PIDFD_INFO_CREDS));
	/* Process has exited but not been reaped, so no PIDFD_INFO_EXIT information yet. */
	ASSERT_FALSE(!!(info.mask & PIDFD_INFO_EXIT));
}

TEST_HARNESS_MAIN