mirror of
https://github.com/roytam1/palemoon27.git
synced 2026-06-02 18:49:56 +00:00
79 lines
2.8 KiB
Python
79 lines
2.8 KiB
Python
#!/usr/bin/env python
|
|
|
|
import os
|
|
import time
|
|
import unittest
|
|
import proctest
|
|
from mozprocess import processhandler
|
|
|
|
here = os.path.dirname(os.path.abspath(__file__))
|
|
|
|
class ProcTestKill(proctest.ProcTest):
|
|
""" Class to test various process tree killing scenatios """
|
|
|
|
def test_process_kill(self):
|
|
"""Process is started, we kill it"""
|
|
|
|
p = processhandler.ProcessHandler([self.python, self.proclaunch, "process_normal_finish_python.ini"],
|
|
cwd=here)
|
|
p.run()
|
|
p.kill()
|
|
|
|
detected, output = proctest.check_for_process(self.proclaunch)
|
|
self.determine_status(detected,
|
|
output,
|
|
p.proc.returncode,
|
|
p.didTimeout,
|
|
expectedfail=('returncode',))
|
|
|
|
def test_process_kill_deep(self):
|
|
"""Process is started, we kill it, we use a deep process tree"""
|
|
|
|
p = processhandler.ProcessHandler([self.python, self.proclaunch, "process_normal_deep_python.ini"],
|
|
cwd=here)
|
|
p.run()
|
|
p.kill()
|
|
|
|
detected, output = proctest.check_for_process(self.proclaunch)
|
|
self.determine_status(detected,
|
|
output,
|
|
p.proc.returncode,
|
|
p.didTimeout,
|
|
expectedfail=('returncode',))
|
|
|
|
def test_process_kill_deep_wait(self):
|
|
"""Process is started, we use a deep process tree, we let it spawn
|
|
for a bit, we kill it"""
|
|
|
|
p = processhandler.ProcessHandler([self.python, self.proclaunch, "process_normal_deep_python.ini"],
|
|
cwd=here)
|
|
p.run()
|
|
# Let the tree spawn a bit, before attempting to kill
|
|
time.sleep(3)
|
|
p.kill()
|
|
|
|
detected, output = proctest.check_for_process(self.proclaunch)
|
|
self.determine_status(detected,
|
|
output,
|
|
p.proc.returncode,
|
|
p.didTimeout,
|
|
expectedfail=('returncode',))
|
|
|
|
def test_process_kill_broad(self):
|
|
"""Process is started, we kill it, we use a broad process tree"""
|
|
|
|
p = processhandler.ProcessHandler([self.python, self.proclaunch, "process_normal_broad_python.ini"],
|
|
cwd=here)
|
|
p.run()
|
|
p.kill()
|
|
|
|
detected, output = proctest.check_for_process(self.proclaunch)
|
|
self.determine_status(detected,
|
|
output,
|
|
p.proc.returncode,
|
|
p.didTimeout,
|
|
expectedfail=('returncode',))
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|