1 """This test checks for correct wait3() 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_wait3"
16 except AttributeError:
17 raise TestSkipped
, "os.wait3 not defined -- skipping test_wait3"
19 class Wait3Test(ForkWait
):
20 def wait_impl(self
, cpid
):
22 # wait3() 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
.wait3(os
.WNOHANG
)
29 self
.assertEqual(spid
, cpid
)
30 self
.assertEqual(status
, 0, "cause = %d, exit = %d" % (status
&0xff, status
>>8))
31 self
.assertTrue(rusage
)
34 run_unittest(Wait3Test
)
37 if __name__
== "__main__":