Lines Matching +full:parent +full:- +full:child

1 /*-
5 * SPDX-License-Identifier: BSD-2-Clause
17 #include <atf-c.h>
24 static int child; variable
26 static int parent; variable
83 ATF_REQUIRE(parent == 0); in basic_prepare()
91 parent++; in basic_parent()
99 if (parent != 0) in basic_child()
101 child++; in basic_child()
106 * that the prepare/parent callbacks were executed as expected. The child will
109 * multi-callback test, but separated out so that it's more obvious from running
111 * out-of-order.
130 _exit(child != 0 ? 0 : EXIT_NOCHILD); in ATF_TC_BODY()
133 * The child can't use any of our standard atf-c(3) macros, so we have in ATF_TC_BODY()
137 ATF_REQUIRE_ERRNO(EINTR, wpid == -1); in ATF_TC_BODY()
138 if (wpid == -1) in ATF_TC_BODY()
143 "child did not exit cleanly, status %x", status); in ATF_TC_BODY()
146 ATF_REQUIRE_MSG(status == 0, "atfork in child %s", in ATF_TC_BODY()
148 (status == EXIT_CALLEDPARENT ? "observed `parent` executing" : in ATF_TC_BODY()
149 (status == EXIT_NOCHILD ? "did not see `child` execute" : in ATF_TC_BODY()
153 ATF_REQUIRE(parent != 0); in ATF_TC_BODY()
154 ATF_REQUIRE(child == 0); in ATF_TC_BODY()
171 mask = (1 << (bit - 1)); in multi_bump()
182 multi_assert((val & ~mask) == (mask - 1), can_assert); in multi_bump()
205 multi_bump(&parent, 1, true); in multi_parent1()
210 multi_bump(&parent, 2, true); in multi_parent2()
216 multi_bump(&child, 1, false); in multi_child1()
221 multi_bump(&child, 2, false); in multi_child2()
225 * The multi-atfork test works much like the basic one, but it registers
226 * multiple times and enforces an order. The child still does just as strict
227 * of tests as the parent and continues to communicate the results of those
248 _exit(child != 0 ? 0 : EXIT_NOCHILD); in ATF_TC_BODY()
251 * The child can't use any of our standard atf-c(3) macros, so we have in ATF_TC_BODY()
255 ATF_REQUIRE_ERRNO(EINTR, wpid == -1); in ATF_TC_BODY()
256 if (wpid == -1) in ATF_TC_BODY()
261 "child did not exit cleanly, status %x", status); in ATF_TC_BODY()
264 ATF_REQUIRE_MSG(status == 0, "atfork in child %s", in ATF_TC_BODY()
266 (status == EXIT_NOCHILD ? "did not see `child` execute" : in ATF_TC_BODY()
270 ATF_REQUIRE(parent != 0); in ATF_TC_BODY()
271 ATF_REQUIRE(child == 0); in ATF_TC_BODY()