summaryrefslogtreecommitdiffstats
path: root/testing/mozbase/mozrunner/tests/test_stop.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/mozbase/mozrunner/tests/test_stop.py')
-rw-r--r--testing/mozbase/mozrunner/tests/test_stop.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/testing/mozbase/mozrunner/tests/test_stop.py b/testing/mozbase/mozrunner/tests/test_stop.py
new file mode 100644
index 000000000..102d57a4e
--- /dev/null
+++ b/testing/mozbase/mozrunner/tests/test_stop.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this file,
+# You can obtain one at http://mozilla.org/MPL/2.0/.
+
+import signal
+
+import mozrunnertest
+
+
+class MozrunnerStopTestCase(mozrunnertest.MozrunnerTestCase):
+
+ def test_stop_process(self):
+ """Stop the process and test properties"""
+ self.runner.start()
+ returncode = self.runner.stop()
+
+ self.assertFalse(self.runner.is_running())
+ self.assertNotIn(returncode, [None, 0])
+ self.assertEqual(self.runner.returncode, returncode)
+ self.assertIsNotNone(self.runner.process_handler)
+
+ self.assertEqual(self.runner.wait(1), returncode)
+
+ def test_stop_before_start(self):
+ """Stop the process before it gets started should not raise an error"""
+ self.runner.stop()
+
+ def test_stop_process_custom_signal(self):
+ """Stop the process via a custom signal and test properties"""
+ self.runner.start()
+ returncode = self.runner.stop(signal.SIGTERM)
+
+ self.assertFalse(self.runner.is_running())
+ self.assertNotIn(returncode, [None, 0])
+ self.assertEqual(self.runner.returncode, returncode)
+ self.assertIsNotNone(self.runner.process_handler)
+
+ self.assertEqual(self.runner.wait(1), returncode)