一部のPythonコードではfork
、親が終了するのを待つ間、子プロセスで処理を実行します。exec
後ではありませんfork
。
sys.exit
子プロセスがで明示的に終了すると、PyUnitエラーが発生するため、PyUnitでこのコードをテストする際に問題が発生します。
以下のこのコードは問題を引き起こします
class TestClass(TestCase):
def test(self):
pid = os.fork()
if pid == 0:
sys.exit(0)
else:
os.waitpid(pid,0)
これはエラーです
Traceback (most recent call last):
File "test.py", line 15, in test
sys.exit(0)
SystemExit: 0
----------------------------------------------------------------------
Ran 1 test in 0.007s
FAILED (errors=1)
子プロセスが明示的に終了した場合にPyUnitがテストに失敗するのを回避する方法はありますか?