1 """This test checks for correct wait4() behavior.
6 from test
.fork_wait
import ForkWait
7 from test
.test_support
import TestSkipped
, run_unittest
, reap_children
11 except AttributeError:
12 raise TestSkipped
, "os.fork not defined -- skipping test_wait4"
16 except AttributeError:
17 raise TestSkipped
, "os.wait4 not defined -- skipping test_wait4"
19 class Wait4Test(ForkWait
):
20 def wait_impl(self
, cpid
):
22 # wait4() shouldn't hang, but some of the buildbots seem to hang
23 # in the forking tests. This is an attempt to fix the problem.
24 spid
, status
, rusage
= os
.wait4(cpid
, os
.WNOHANG
)
28 self
.assertEqual(spid
, cpid
)
29 self
.assertEqual(status
, 0, "cause = %d, exit = %d" % (status
&0xff, status
>>8))
30 self
.assertTrue(rusage
)
33 run_unittest(Wait4Test
)
36 if __name__
== "__main__":