svn commit: r328384 - stable/10/tests/sys/kern
John Baldwin
jhb at FreeBSD.org
Thu Jan 25 00:08:14 UTC 2018
Author: jhb
Date: Thu Jan 25 00:08:13 2018
New Revision: 328384
URL: https://svnweb.freebsd.org/changeset/base/328384
Log:
MFC 287600,287602: Fixes for fork following tests.
287600:
Properly size the children[] arrays in the follow fork tests.
287602:
Use _exit() instead of exit() in child processes created during tests.
Modified:
stable/10/tests/sys/kern/ptrace_test.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/tests/sys/kern/ptrace_test.c
==============================================================================
--- stable/10/tests/sys/kern/ptrace_test.c Wed Jan 24 23:57:40 2018 (r328383)
+++ stable/10/tests/sys/kern/ptrace_test.c Thu Jan 25 00:08:13 2018 (r328384)
@@ -143,7 +143,7 @@ ATF_TC_BODY(ptrace__parent_wait_after_trace_me, tc)
/* Child process. */
trace_me();
- exit(1);
+ _exit(1);
}
/* Parent process. */
@@ -189,7 +189,7 @@ ATF_TC_BODY(ptrace__parent_wait_after_attach, tc)
/* Wait for the parent to attach. */
CHILD_REQUIRE(read(cpipe[1], &c, sizeof(c)) == 0);
- exit(1);
+ _exit(1);
}
close(cpipe[1]);
@@ -237,7 +237,7 @@ ATF_TC_BODY(ptrace__parent_sees_exit_after_child_debug
/* Wait for parent to be ready. */
CHILD_REQUIRE(read(cpipe[1], &c, sizeof(c)) == sizeof(c));
- exit(1);
+ _exit(1);
}
close(cpipe[1]);
@@ -268,7 +268,7 @@ ATF_TC_BODY(ptrace__parent_sees_exit_after_child_debug
CHILD_REQUIRE(WIFEXITED(status));
CHILD_REQUIRE(WEXITSTATUS(status) == 1);
- exit(0);
+ _exit(0);
}
close(dpipe[1]);
@@ -331,7 +331,7 @@ ATF_TC_BODY(ptrace__parent_sees_exit_after_unrelated_d
/* Wait for parent to be ready. */
CHILD_REQUIRE(read(cpipe[1], &c, sizeof(c)) == sizeof(c));
- exit(1);
+ _exit(1);
}
close(cpipe[1]);
@@ -347,7 +347,7 @@ ATF_TC_BODY(ptrace__parent_sees_exit_after_unrelated_d
*/
CHILD_REQUIRE((fpid = fork()) != -1);
if (fpid != 0)
- exit(2);
+ _exit(2);
/* Debugger process. */
close(dpipe[0]);
@@ -372,7 +372,7 @@ ATF_TC_BODY(ptrace__parent_sees_exit_after_unrelated_d
CHILD_REQUIRE(WIFEXITED(status));
CHILD_REQUIRE(WEXITSTATUS(status) == 1);
- exit(0);
+ _exit(0);
}
close(dpipe[1]);
@@ -437,14 +437,14 @@ follow_fork_parent(bool use_vfork)
if (fpid == 0)
/* Child */
- exit(2);
+ _exit(2);
wpid = waitpid(fpid, &status, 0);
CHILD_REQUIRE(wpid == fpid);
CHILD_REQUIRE(WIFEXITED(status));
CHILD_REQUIRE(WEXITSTATUS(status) == 2);
- exit(1);
+ _exit(1);
}
/*
@@ -516,7 +516,7 @@ handle_fork_events(pid_t parent, struct ptrace_lwpinfo
ATF_TC_WITHOUT_HEAD(ptrace__follow_fork_both_attached);
ATF_TC_BODY(ptrace__follow_fork_both_attached, tc)
{
- pid_t children[0], fpid, wpid;
+ pid_t children[2], fpid, wpid;
int status;
ATF_REQUIRE((fpid = fork()) != -1);
@@ -572,7 +572,7 @@ ATF_TC_BODY(ptrace__follow_fork_both_attached, tc)
ATF_TC_WITHOUT_HEAD(ptrace__follow_fork_child_detached);
ATF_TC_BODY(ptrace__follow_fork_child_detached, tc)
{
- pid_t children[0], fpid, wpid;
+ pid_t children[2], fpid, wpid;
int status;
ATF_REQUIRE((fpid = fork()) != -1);
@@ -623,7 +623,7 @@ ATF_TC_BODY(ptrace__follow_fork_child_detached, tc)
ATF_TC_WITHOUT_HEAD(ptrace__follow_fork_parent_detached);
ATF_TC_BODY(ptrace__follow_fork_parent_detached, tc)
{
- pid_t children[0], fpid, wpid;
+ pid_t children[2], fpid, wpid;
int status;
ATF_REQUIRE((fpid = fork()) != -1);
@@ -685,7 +685,7 @@ attach_fork_parent(int cpipe[2])
/* Double-fork to disassociate from the debugger. */
CHILD_REQUIRE((fpid = fork()) != -1);
if (fpid != 0)
- exit(3);
+ _exit(3);
/* Send the pid of the disassociated child to the debugger. */
fpid = getpid();
@@ -704,7 +704,7 @@ attach_fork_parent(int cpipe[2])
ATF_TC_WITHOUT_HEAD(ptrace__follow_fork_both_attached_unrelated_debugger);
ATF_TC_BODY(ptrace__follow_fork_both_attached_unrelated_debugger, tc)
{
- pid_t children[0], fpid, wpid;
+ pid_t children[2], fpid, wpid;
int cpipe[2], status;
ATF_REQUIRE(pipe(cpipe) == 0);
@@ -772,7 +772,7 @@ ATF_TC_BODY(ptrace__follow_fork_both_attached_unrelate
ATF_TC_WITHOUT_HEAD(ptrace__follow_fork_child_detached_unrelated_debugger);
ATF_TC_BODY(ptrace__follow_fork_child_detached_unrelated_debugger, tc)
{
- pid_t children[0], fpid, wpid;
+ pid_t children[2], fpid, wpid;
int cpipe[2], status;
ATF_REQUIRE(pipe(cpipe) == 0);
@@ -835,7 +835,7 @@ ATF_TC_BODY(ptrace__follow_fork_child_detached_unrelat
ATF_TC_WITHOUT_HEAD(ptrace__follow_fork_parent_detached_unrelated_debugger);
ATF_TC_BODY(ptrace__follow_fork_parent_detached_unrelated_debugger, tc)
{
- pid_t children[0], fpid, wpid;
+ pid_t children[2], fpid, wpid;
int cpipe[2], status;
ATF_REQUIRE(pipe(cpipe) == 0);
More information about the svn-src-stable
mailing list