summaryrefslogtreecommitdiffstats
path: root/testing/mozbase/mozprocess/tests/test_detached.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /testing/mozbase/mozprocess/tests/test_detached.py
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/mozbase/mozprocess/tests/test_detached.py')
-rw-r--r--testing/mozbase/mozprocess/tests/test_detached.py62
1 files changed, 62 insertions, 0 deletions
diff --git a/testing/mozbase/mozprocess/tests/test_detached.py b/testing/mozbase/mozprocess/tests/test_detached.py
new file mode 100644
index 0000000000..bc310fa3db
--- /dev/null
+++ b/testing/mozbase/mozprocess/tests/test_detached.py
@@ -0,0 +1,62 @@
+#!/usr/bin/env python
+
+import os
+
+import mozunit
+import proctest
+from mozprocess import processhandler
+
+here = os.path.dirname(os.path.abspath(__file__))
+
+
+class ProcTestDetached(proctest.ProcTest):
+ """Class to test for detached processes."""
+
+ def test_check_for_detached_before_run(self):
+ """Process is not started yet when checked for detached."""
+ p = processhandler.ProcessHandler(
+ [self.python, self.proclaunch, "process_normal_finish.ini"], cwd=here
+ )
+
+ with self.assertRaises(RuntimeError):
+ p.check_for_detached(1234)
+
+ def test_check_for_detached_while_running_with_current_pid(self):
+ """Process is started, and check for detached with original pid."""
+ p = processhandler.ProcessHandler(
+ [self.python, self.proclaunch, "process_normal_finish.ini"], cwd=here
+ )
+ p.run()
+
+ orig_pid = p.pid
+ p.check_for_detached(p.pid)
+
+ self.assertEqual(p.pid, orig_pid)
+ self.assertIsNone(p.proc.detached_pid)
+
+ self.determine_status(p, True)
+ p.kill()
+
+ def test_check_for_detached_after_fork(self):
+ """Process is started, and check for detached with new pid."""
+ pass
+
+ def test_check_for_detached_after_kill(self):
+ """Process is killed before checking for detached pid."""
+ p = processhandler.ProcessHandler(
+ [self.python, self.proclaunch, "process_normal_finish.ini"], cwd=here
+ )
+ p.run()
+ p.kill()
+
+ orig_pid = p.pid
+ p.check_for_detached(p.pid)
+
+ self.assertEqual(p.pid, orig_pid)
+ self.assertIsNone(p.proc.detached_pid)
+
+ self.determine_status(p)
+
+
+if __name__ == "__main__":
+ mozunit.main()