blob: a1cbd7b8458a379644acf1486a41ed44e4350201 [file] [log] [blame]
Neal Norwitz05a45592006-03-20 06:30:08 +00001"""This test checks for correct wait3() behavior.
2"""
3
4import os
5from test.fork_wait import ForkWait
6from test.test_support import TestSkipped, run_unittest
7
8try:
9 os.fork
10except AttributeError:
11 raise TestSkipped, "os.fork not defined -- skipping test_wait3"
12
13try:
14 os.wait3
15except AttributeError:
16 raise TestSkipped, "os.wait3 not defined -- skipping test_wait3"
17
18class Wait3Test(ForkWait):
19 def wait_impl(self, cpid):
20 while 1:
21 spid, status, rusage = os.wait3(0)
22 if spid == cpid:
23 break
24 self.assertEqual(spid, cpid)
25 self.assertEqual(status, 0, "cause = %d, exit = %d" % (status&0xff, status>>8))
26 self.assertTrue(rusage)
27
28def test_main():
29 run_unittest(Wait3Test)
30
31if __name__ == "__main__":
32 test_main()