1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "sandbox/linux/tests/test_utils.h"
13 #include "base/basictypes.h"
14 #include "base/logging.h"
15 #include "base/posix/eintr_wrapper.h"
19 bool TestUtils::CurrentProcessHasChildren() {
20 siginfo_t process_info
;
21 int ret
= HANDLE_EINTR(
22 waitid(P_ALL
, 0, &process_info
, WEXITED
| WNOHANG
| WNOWAIT
));
24 PCHECK(ECHILD
== errno
);
31 void TestUtils::HandlePostForkReturn(pid_t pid
) {
32 const int kChildExitCode
= 1;
35 PCHECK(pid
== HANDLE_EINTR(waitpid(pid
, &status
, 0)));
36 CHECK(WIFEXITED(status
));
37 CHECK_EQ(kChildExitCode
, WEXITSTATUS(status
));
38 } else if (pid
== 0) {
39 _exit(kChildExitCode
);
43 } // namespace sandbox