Module Name:    src
Committed By:   kamil
Date:           Thu Nov  3 20:24:18 UTC 2016

Modified Files:
        src/tests/kernel: t_ptrace.c

Log Message:
Add FORKEE_ASSERTX()/FORKEE_ASSERT() for forkee; simplify code

A child process cannot call atf functions and expect them to magically
work like in the parent.
The printf(3) messaging from a child will not work out of the box as well
without estabilishing a communication protocol with its parent. To not
overcomplicate the tests - do not log from a child and use err(3)/errx(3)
wrapped with FORKEE_ASSERT()/FORKEE_ASSERTX() as that is guaranteed to work.

Simplify and cleanup code of the tests.

Sponsored by <The NetBSD Foundation>.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/tests/kernel/t_ptrace.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/tests/kernel/t_ptrace.c
diff -u src/tests/kernel/t_ptrace.c:1.6 src/tests/kernel/t_ptrace.c:1.7
--- src/tests/kernel/t_ptrace.c:1.6	Thu Nov  3 18:54:16 2016
+++ src/tests/kernel/t_ptrace.c	Thu Nov  3 20:24:18 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: t_ptrace.c,v 1.6 2016/11/03 18:54:16 kamil Exp $	*/
+/*	$NetBSD: t_ptrace.c,v 1.7 2016/11/03 20:24:18 kamil Exp $	*/
 
 /*-
  * Copyright (c) 2016 The NetBSD Foundation, Inc.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: t_ptrace.c,v 1.6 2016/11/03 18:54:16 kamil Exp $");
+__RCSID("$NetBSD: t_ptrace.c,v 1.7 2016/11/03 20:24:18 kamil Exp $");
 
 #include <sys/param.h>
 #include <sys/types.h>
@@ -44,6 +44,31 @@ __RCSID("$NetBSD: t_ptrace.c,v 1.6 2016/
 
 #include "../h_macros.h"
 
+/*
+ * A child process cannot call atf functions and expect them to magically
+ * work like in the parent.
+ * The printf(3) messaging from a child will not work out of the box as well
+ * without estabilishing a communication protocol with its parent. To not
+ * overcomplicate the tests - do not log from a child and use err(3)/errx(3)
+ * wrapped with FORKEE_ASSERT()/FORKEE_ASSERTX() as that is guaranteed to work.
+ */
+#define FORKEE_ASSERTX(x)							\
+do {										\
+	int ret = (x);								\
+	if (!ret)								\
+		errx(EXIT_FAILURE, "%s:%d %s(): Assertion failed for: %s",	\
+		     __FILE__, __LINE__, __func__, #x);				\
+} while (0)
+
+#define FORKEE_ASSERT(x)							\
+do {										\
+	int ret = (x);								\
+	if (!ret)								\
+		err(EXIT_FAILURE, "%s:%d %s(): Assertion failed for: %s",	\
+		     __FILE__, __LINE__, __func__, #x);				\
+} while (0)
+
+
 ATF_TC(traceme1);
 ATF_TC_HEAD(traceme1, tc)
 {
@@ -58,85 +83,75 @@ ATF_TC_BODY(traceme1, tc)
 	const int sigval = SIGSTOP;
 	pid_t child, wpid;
 
-	printf("1: Before forking process PID=%d\n", getpid());
+	printf("Before forking process PID=%d\n", getpid());
 	ATF_REQUIRE((child = fork()) != -1);
 	if (child == 0) {
-		/* printf(3) messages from a child aren't intercepted by ATF */
-		/* "2: Child process PID=%d\n", getpid() */
-
-		/* "2: Before calling ptrace(PT_TRACE_ME, ...)\n" */
-		if (ptrace(PT_TRACE_ME, 0, NULL, 0) == -1) {
-			/* XXX: Is it safe to use ATF functions in a child? */
-			err(EXIT_FAILURE, "2: ptrace(2) call failed");
-		}
+		FORKEE_ASSERT(ptrace(PT_TRACE_ME, 0, NULL, 0) != -1);
 
-		/* "2: Before raising SIGSTOP\n" */
-		raise(sigval);
+		FORKEE_ASSERT(raise(sigval) == 0);
 
-		/* "2: Before calling _exit(%d)\n", exitval */
 		_exit(exitval);
 	}
-	printf("1: Parent process PID=%d, child's PID=%d\n", getpid(), child);
+	printf("Parent process PID=%d, child's PID=%d\n", getpid(), child);
 
-	printf("1: Before calling waitpid() for the child\n");
+	printf("Before calling waitpid() for the child\n");
 	wpid = waitpid(child, &status, 0);
 
-	printf("1: Validating child's PID (expected %d, got %d)\n", child,
-	    wpid);
+	printf("Validating child's PID (expected %d, got %d)\n", child, wpid);
 	ATF_REQUIRE(child == wpid);
 
-	printf("1: Ensuring that the child has not been exited\n");
+	printf("Ensuring that the child has not been exited\n");
 	ATF_REQUIRE(!WIFEXITED(status));
 
-	printf("1: Ensuring that the child has not been continued\n");
+	printf("Ensuring that the child has not been continued\n");
 	ATF_REQUIRE(!WIFCONTINUED(status));
 
-	printf("1: Ensuring that the child has not been terminated with a "
+	printf("Ensuring that the child has not been terminated with a "
 	    "signal\n");
 	ATF_REQUIRE(!WIFSIGNALED(status));
 
-	printf("1: Ensuring that the child has been stopped\n");
+	printf("Ensuring that the child has been stopped\n");
 	ATF_REQUIRE(WIFSTOPPED(status));
 
-	printf("1: Verifying that he child has been stopped with the %s "
-	    "signal (received %s)\n", sys_signame[sigval],
+	printf("Verifying that he child has been stopped with the %s signal "
+	    "(received %s)\n", sys_signame[sigval],
 	    sys_signame[WSTOPSIG(status)]);
 	ATF_REQUIRE(WSTOPSIG(status) == sigval);
 
-	printf("1: Before resuming the child process where it left off and "
+	printf("Before resuming the child process where it left off and "
 	    "without signal to be sent\n");
 	ATF_REQUIRE(ptrace(PT_CONTINUE, child, (void *)1, 0) != -1);
 
-	printf("1: Before calling waitpid() for the child\n");
+	printf("Before calling waitpid() for the child\n");
 	wpid = waitpid(child, &status, 0);
 
-	printf("1: Validating that child's PID is still there\n");
+	printf("Validating that child's PID is still there\n");
 	ATF_REQUIRE(wpid == child);
 
-	printf("1: Ensuring that the child has been exited\n");
+	printf("Ensuring that the child has been exited\n");
 	ATF_REQUIRE(WIFEXITED(status));
 
-	printf("1: Ensuring that the child has not been continued\n");
+	printf("Ensuring that the child has not been continued\n");
 	ATF_REQUIRE(!WIFCONTINUED(status));
 
-	printf("1: Ensuring that the child has not been terminated with a "
+	printf("Ensuring that the child has not been terminated with a "
 	    "signal\n");
 	ATF_REQUIRE(!WIFSIGNALED(status));
 
-	printf("1: Ensuring that the child has not been stopped\n");
+	printf("Ensuring that the child has not been stopped\n");
 	ATF_REQUIRE(!WIFSTOPPED(status));
 
-	printf("1: Verifying that he child has exited with the %d status "
+	printf("Verifying that he child has exited with the %d status "
 	    "(received %d)\n", exitval, WEXITSTATUS(status));
 	ATF_REQUIRE(WEXITSTATUS(status) == exitval);
 
-	printf("1: Before calling waitpid() for the exited child\n");
+	printf("Before calling waitpid() for the exited child\n");
 	wpid = waitpid(child, &status, 0);
 
-	printf("1: Validating that child's PID no longer exists\n");
+	printf("Validating that child's PID no longer exists\n");
 	ATF_REQUIRE(wpid == -1);
 
-	printf("1: Validating that errno is set to %s (got %s)\n",
+	printf("Validating that errno is set to %s (got %s)\n",
 	    strerror(ECHILD), strerror(errno));
 	ATF_REQUIRE(errno == ECHILD);
 }
@@ -148,16 +163,14 @@ ATF_TC_HEAD(traceme2, tc)
 	    "Verify SIGSTOP followed by _exit(2) in a child");
 }
 
-static int traceme2_catched = 0;
+static int traceme2_caught = 0;
 
 static void
 traceme2_sighandler(int sig)
 {
-	if (sig != SIGINT)
-		errx(EXIT_FAILURE, "sighandler: Unexpected signal received: "
-		    "%s, expected SIGINT", sys_signame[sig]);
+	FORKEE_ASSERTX(sig == SIGINT);
 
-	++traceme2_catched;
+	++traceme2_caught;
 }
 
 ATF_TC_BODY(traceme2, tc)
@@ -168,98 +181,83 @@ ATF_TC_BODY(traceme2, tc)
 	pid_t child, wpid;
 	struct sigaction sa;
 
-	printf("1: Before forking process PID=%d\n", getpid());
+	printf("Before forking process PID=%d\n", getpid());
 	ATF_REQUIRE((child = fork()) != -1);
 	if (child == 0) {
-		/* printf(3) messages from a child aren't intercepted by ATF */
-		/* "2: Child process PID=%d\n", getpid() */
+		FORKEE_ASSERT(ptrace(PT_TRACE_ME, 0, NULL, 0) != -1);
 
-		/* "2: Before calling ptrace(PT_TRACE_ME, ...)\n" */
-		if (ptrace(PT_TRACE_ME, 0, NULL, 0) == -1) {
-			/* XXX: Is it safe to use ATF functions in a child? */
-			err(EXIT_FAILURE, "2: ptrace(2) call failed");
-		}
-
-		/* "2: Setup sigaction(2) in the child" */
 		sa.sa_handler = traceme2_sighandler;
 		sa.sa_flags = SA_SIGINFO;
 		sigemptyset(&sa.sa_mask);
 
-		if (sigaction(sigsent, &sa, NULL) == -1)
-			err(EXIT_FAILURE, "2: sigaction(2) call failed");
+		FORKEE_ASSERT(sigaction(sigsent, &sa, NULL) != -1);
 
-		/* "2: Before raising SIGSTOP\n" */
-		raise(sigval);
+		FORKEE_ASSERT(raise(sigval) == 0);
 
-		if (traceme2_catched != 1)
-			errx(EXIT_FAILURE, "2: signal handler not called? "
-			    "traceme2_catched (equal to %d) != 1",
-			    traceme2_catched);
+		FORKEE_ASSERTX(traceme2_caught == 1);
 
-		/* "2: Before calling _exit(%d)\n", exitval */
 		_exit(exitval);
 	}
-	printf("1: Parent process PID=%d, child's PID=%d\n", getpid(), child);
+	printf("Parent process PID=%d, child's PID=%d\n", getpid(), child);
 
-	printf("1: Before calling waitpid() for the child\n");
+	printf("Before calling waitpid() for the child\n");
 	wpid = waitpid(child, &status, 0);
 
-	printf("1: Validating child's PID (expected %d, got %d)\n", child,
-	    wpid);
+	printf("Validating child's PID (expected %d, got %d)\n", child, wpid);
 	ATF_REQUIRE(child == wpid);
 
-	printf("1: Ensuring that the child has not been exited\n");
+	printf("Ensuring that the child has not been exited\n");
 	ATF_REQUIRE(!WIFEXITED(status));
 
-	printf("1: Ensuring that the child has not been continued\n");
+	printf("Ensuring that the child has not been continued\n");
 	ATF_REQUIRE(!WIFCONTINUED(status));
 
-	printf("1: Ensuring that the child has not been terminated with a "
+	printf("Ensuring that the child has not been terminated with a "
 	    "signal\n");
 	ATF_REQUIRE(!WIFSIGNALED(status));
 
-	printf("1: Ensuring that the child has been stopped\n");
+	printf("Ensuring that the child has been stopped\n");
 	ATF_REQUIRE(WIFSTOPPED(status));
 
-	printf("1: Verifying that he child has been stopped with the %s "
-	    "signal (received %s)\n", sys_signame[sigval],
+	printf("Verifying that he child has been stopped with the %s signal "
+	    "(received %s)\n", sys_signame[sigval],
 	    sys_signame[WSTOPSIG(status)]);
 	ATF_REQUIRE(WSTOPSIG(status) == sigval);
 
-	printf("1: Before resuming the child process where it left off and "
-	    "with signal %s to be sent\n", sys_signame[sigsent]);
+	printf("Before resuming the child process where it left off and with "
+	    "signal %s to be sent\n", sys_signame[sigsent]);
 	ATF_REQUIRE(ptrace(PT_CONTINUE, child, (void *)1, sigsent) != -1);
 
-	printf("1: Before calling waitpid() for the child\n");
+	printf("Before calling waitpid() for the child\n");
 	wpid = waitpid(child, &status, 0);
 
-	printf("1: Validating that child's PID is still there\n");
+	printf("Validating that child's PID is still there\n");
 	ATF_REQUIRE(wpid == child);
 
-	printf("1: Ensuring that the child has been exited\n");
+	printf("Ensuring that the child has been exited\n");
 	ATF_REQUIRE(WIFEXITED(status));
 
-	printf("1: Ensuring that the child has not been continued\n");
+	printf("Ensuring that the child has not been continued\n");
 	ATF_REQUIRE(!WIFCONTINUED(status));
 
-	printf("1: Ensuring that the child has not been terminated with a "
+	printf("Ensuring that the child has not been terminated with a "
 	    "signal\n");
 	ATF_REQUIRE(!WIFSIGNALED(status));
 
-	printf("1: Ensuring that the child has not been stopped\n");
+	printf("Ensuring that the child has not been stopped\n");
 	ATF_REQUIRE(!WIFSTOPPED(status));
 
-	printf("1: Verifying that he child has exited with the %d status "
+	printf("Verifying that he child has exited with the %d status "
 	    "(received %d)\n", exitval, WEXITSTATUS(status));
 	ATF_REQUIRE(WEXITSTATUS(status) == exitval);
 
-	printf("1: Before calling waitpid() for the exited child\n");
+	printf("Before calling waitpid() for the exited child\n");
 	wpid = waitpid(child, &status, 0);
 
-	printf("1: Validating that child's PID no longer exists\n");
+	printf("Validating that child's PID no longer exists\n");
 	ATF_REQUIRE(wpid == -1);
 
-	printf("1: Validating that errno is set to %s (got %s)\n",
+	printf("Validating that errno is set to %s (got %s)\n",
 	    strerror(ECHILD), strerror(errno));
 	ATF_REQUIRE(errno == ECHILD);
 }
@@ -277,92 +275,82 @@ ATF_TC_BODY(traceme3, tc)
 	const int sigval = SIGSTOP, sigsent = SIGINT /* Without core-dump */;
 	pid_t child, wpid;
 
-	printf("1: Before forking process PID=%d\n", getpid());
+	printf("Before forking process PID=%d\n", getpid());
 	ATF_REQUIRE((child = fork()) != -1);
 	if (child == 0) {
-		/* printf(3) messages from a child aren't intercepted by ATF */
-		/* "2: Child process PID=%d\n", getpid() */
-
-		/* "2: Before calling ptrace(PT_TRACE_ME, ...)\n" */
-		if (ptrace(PT_TRACE_ME, 0, NULL, 0) == -1) {
-			/* XXX: Is it safe to use ATF functions in a child? */
-			err(EXIT_FAILURE, "2: ptrace(2) call failed");
-		}
+		FORKEE_ASSERT(ptrace(PT_TRACE_ME, 0, NULL, 0) != -1);
 
-		/* "2: Before raising SIGSTOP\n" */
-		raise(sigval);
+		FORKEE_ASSERT(raise(sigval) == 0);
 
 		/* NOTREACHED */
-		errx(EXIT_FAILURE, "2: Child should be terminated here by a "
-		    "signal from parent");
+		FORKEE_ASSERTX(0 &&
+		    "Child should be terminated by a signal from its parent");
 	}
-	printf("1: Parent process PID=%d, child's PID=%d\n", getpid(), child);
+	printf("Parent process PID=%d, child's PID=%d\n", getpid(), child);
 
-	printf("1: Before calling waitpid() for the child\n");
+	printf("Before calling waitpid() for the child\n");
 	wpid = waitpid(child, &status, 0);
 
-	printf("1: Validating child's PID (expected %d, got %d)\n", child,
-	    wpid);
+	printf("Validating child's PID (expected %d, got %d)\n", child, wpid);
 	ATF_REQUIRE(child == wpid);
 
-	printf("1: Ensuring that the child has not been exited\n");
+	printf("Ensuring that the child has not been exited\n");
 	ATF_REQUIRE(!WIFEXITED(status));
 
-	printf("1: Ensuring that the child has not been continued\n");
+	printf("Ensuring that the child has not been continued\n");
 	ATF_REQUIRE(!WIFCONTINUED(status));
 
-	printf("1: Ensuring that the child has not been terminated with a "
+	printf("Ensuring that the child has not been terminated with a "
 	    "signal\n");
 	ATF_REQUIRE(!WIFSIGNALED(status));
 
-	printf("1: Ensuring that the child has been stopped\n");
+	printf("Ensuring that the child has been stopped\n");
 	ATF_REQUIRE(WIFSTOPPED(status));
 
-	printf("1: Verifying that he child has been stopped with the %s "
-	    "signal (received %s)\n", sys_signame[sigval],
+	printf("Verifying that he child has been stopped with the %s signal "
+	    "(received %s)\n", sys_signame[sigval],
 	    sys_signame[WSTOPSIG(status)]);
 	ATF_REQUIRE(WSTOPSIG(status) == sigval);
 
-	printf("1: Before resuming the child process where it left off and "
-	    "with signal %s to be sent\n", sys_signame[sigsent]);
+	printf("Before resuming the child process where it left off and with "
+	    "signal %s to be sent\n", sys_signame[sigsent]);
 	ATF_REQUIRE(ptrace(PT_CONTINUE, child, (void *)1, sigsent) != -1);
 
-	printf("1: Before calling waitpid() for the child\n");
+	printf("Before calling waitpid() for the child\n");
 	wpid = waitpid(child, &status, 0);
 
-	printf("1: Validating that child's PID is still there\n");
+	printf("Validating that child's PID is still there\n");
 	ATF_REQUIRE(wpid == child);
 
-	printf("1: Ensuring that the child has not been exited\n");
+	printf("Ensuring that the child has not been exited\n");
 	ATF_REQUIRE(!WIFEXITED(status));
 
-	printf("1: Ensuring that the child has not been continued\n");
+	printf("Ensuring that the child has not been continued\n");
 	ATF_REQUIRE(!WIFCONTINUED(status));
 
-	printf("1: Ensuring that the child hast been terminated with a "
+	printf("Ensuring that the child hast been terminated with a "
 	    "signal\n");
 	ATF_REQUIRE(WIFSIGNALED(status));
 
-	printf("1: Ensuring that the child has not been stopped\n");
+	printf("Ensuring that the child has not been stopped\n");
 	ATF_REQUIRE(!WIFSTOPPED(status));
 
-	printf("1: Verifying that he child has not core dumped for the %s "
-	    "signal (it is the default behavior)\n",
-	    sys_signame[sigsent]);
+	printf("Verifying that he child has not core dumped for the %s signal "
+	    "(it is the default behavior)\n", sys_signame[sigsent]);
 	ATF_REQUIRE(!WCOREDUMP(status));
 
-	printf("1: Verifying that he child has been stopped with the %s "
+	printf("Verifying that he child has been stopped with the %s "
 	    "signal (received %s)\n", sys_signame[sigsent],
 	    sys_signame[WTERMSIG(status)]);
 	ATF_REQUIRE(WTERMSIG(status) == sigsent);
 
-	printf("1: Before calling waitpid() for the exited child\n");
+	printf("Before calling waitpid() for the exited child\n");
 	wpid = waitpid(child, &status, 0);
 
-	printf("1: Validating that child's PID no longer exists\n");
+	printf("Validating that child's PID no longer exists\n");
 	ATF_REQUIRE(wpid == -1);
 
-	printf("1: Validating that errno is set to %s (got %s)\n",
+	printf("Validating that errno is set to %s (got %s)\n",
 	    strerror(ECHILD), strerror(errno));
 	ATF_REQUIRE(errno == ECHILD);
 }
@@ -387,111 +375,100 @@ ATF_TC_BODY(traceme4, tc)
 	 * ultimate standard to verify it. */
 	atf_tc_expect_fail("PR kern/51596");
 
-	printf("1: Before forking process PID=%d\n", getpid());
+	printf("Before forking process PID=%d\n", getpid());
 	ATF_REQUIRE((child = fork()) != -1);
 	if (child == 0) {
-		/* printf(3) messages from a child aren't intercepted by ATF */
-		/* "2: Child process PID=%d\n", getpid() */
-
-		/* "2: Before calling ptrace(PT_TRACE_ME, ...)\n" */
-		if (ptrace(PT_TRACE_ME, 0, NULL, 0) == -1) {
-			/* XXX: Is it safe to use ATF functions in a child? */
-			err(EXIT_FAILURE, "2: ptrace(2) call failed");
-		}
+		FORKEE_ASSERT(ptrace(PT_TRACE_ME, 0, NULL, 0) != -1);
 
-		/* "2: Before raising SIGSTOP\n" */
-		raise(sigval);
+		FORKEE_ASSERT(raise(sigval) == 0);
 
-		/* "2: Before raising SIGCONT\n" */
-		raise(sigsent);
+		FORKEE_ASSERT(raise(sigsent) == 0);
 
-		/* "2: Before calling _exit(%d)\n", exitval */
 		_exit(exitval);
 	}
-	printf("1: Parent process PID=%d, child's PID=%d\n", getpid(),child);
+	printf("Parent process PID=%d, child's PID=%d\n", getpid(),child);
 
-	printf("1: Before calling waitpid() for the child\n");
+	printf("Before calling waitpid() for the child\n");
 	wpid = waitpid(child, &status, 0);
 
-	printf("1: Validating child's PID (expected %d, got %d)\n", child,
-	    wpid);
+	printf("Validating child's PID (expected %d, got %d)\n", child, wpid);
 	ATF_REQUIRE(child == wpid);
 
-	printf("1: Ensuring that the child has not been exited\n");
+	printf("Ensuring that the child has not been exited\n");
 	ATF_REQUIRE(!WIFEXITED(status));
 
-	printf("1: Ensuring that the child has not been continued\n");
+	printf("Ensuring that the child has not been continued\n");
 	ATF_REQUIRE(!WIFCONTINUED(status));
 
-	printf("1: Ensuring that the child has not been terminated with a "
+	printf("Ensuring that the child has not been terminated with a "
 	    "signal\n");
 	ATF_REQUIRE(!WIFSIGNALED(status));
 
-	printf("1: Ensuring that the child has been stopped\n");
+	printf("Ensuring that the child has been stopped\n");
 	ATF_REQUIRE(WIFSTOPPED(status));
 
-	printf("1: Verifying that he child has been stopped with the %s "
-	    "signal (received %s)\n", sys_signame[sigval],
+	printf("Verifying that he child has been stopped with the %s signal "
+	    "(received %s)\n", sys_signame[sigval],
 	    sys_signame[WSTOPSIG(status)]);
 	ATF_REQUIRE(WSTOPSIG(status) == sigval);
 
-	printf("1: Before resuming the child process where it left off and "
+	printf("Before resuming the child process where it left off and "
 	    "without signal to be sent\n");
 	ATF_REQUIRE(ptrace(PT_CONTINUE, child, (void *)1, 0) != -1);
 
-	printf("1: Before calling waitpid() for the child\n");
+	printf("Before calling waitpid() for the child\n");
 	wpid = waitpid(child, &status, WALLSIG);
 
-	printf("1: Validating that child's PID is still there\n");
+	printf("Validating that child's PID is still there\n");
 	ATF_REQUIRE(wpid == child);
 
-	printf("1: Ensuring that the child has not been exited\n");
+	printf("Ensuring that the child has not been exited\n");
 	ATF_REQUIRE(!WIFEXITED(status));
 
-	printf("1: Ensuring that the child has not been continued\n");
+	printf("Ensuring that the child has not been continued\n");
 	ATF_REQUIRE(!WIFCONTINUED(status));
 
-	printf("1: Ensuring that the child has not been terminated with a "
+	printf("Ensuring that the child has not been terminated with a "
 	    "signal\n");
 	ATF_REQUIRE(!WIFSIGNALED(status));
 
-	printf("1: Ensuring that the child has not been stopped\n");
+	printf("Ensuring that the child has not been stopped\n");
 	ATF_REQUIRE(WIFSTOPPED(status));
 
-	printf("1: Before resuming the child process where it left off and "
+	printf("Before resuming the child process where it left off and "
 	    "without signal to be sent\n");
 	ATF_REQUIRE(ptrace(PT_CONTINUE, child, (void *)1, 0) != -1);
 
-	printf("1: Before calling waitpid() for the child\n");
+	printf("Before calling waitpid() for the child\n");
 	wpid = waitpid(child, &status, 0);
 
-	printf("1: Validating that child's PID is still there\n");
+	printf("Validating that child's PID is still there\n");
 	ATF_REQUIRE(wpid == child);
 
-	printf("1: Ensuring that the child has been exited\n");
+	printf("Ensuring that the child has been exited\n");
 	ATF_REQUIRE(WIFEXITED(status));
 
-	printf("1: Ensuring that the child has not been continued\n");
+	printf("Ensuring that the child has not been continued\n");
 	ATF_REQUIRE(!WIFCONTINUED(status));
 
-	printf("1: Ensuring that the child has not been terminated with a "
+	printf("Ensuring that the child has not been terminated with a "
 	    "signal\n");
 	ATF_REQUIRE(!WIFSIGNALED(status));
 
-	printf("1: Ensuring that the child has not been stopped\n");
+	printf("Ensuring that the child has not been stopped\n");
 	ATF_REQUIRE(!WIFSTOPPED(status));
 
-	printf("1: Verifying that he child has exited with the %d status "
+	printf("Verifying that he child has exited with the %d status "
 	    "(received %d)\n", exitval, WEXITSTATUS(status));
 	ATF_REQUIRE(WEXITSTATUS(status) == exitval);
 
-	printf("1: Before calling waitpid() for the exited child\n");
+	printf("Before calling waitpid() for the exited child\n");
 	wpid = waitpid(child, &status, 0);
 
-	printf("1: Validating that child's PID no longer exists\n");
+	printf("Validating that child's PID no longer exists\n");
 	ATF_REQUIRE(wpid == -1);
 
-	printf("1: Validating that errno is set to %s (got %s)\n",
+	printf("Validating that errno is set to %s (got %s)\n",
 	    strerror(ECHILD), strerror(errno));
 	ATF_REQUIRE(errno == ECHILD);
 }

Reply via email to