summaryrefslogtreecommitdiffstats
path: root/testing/mozbase/mozprocess/tests/test_params.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/mozbase/mozprocess/tests/test_params.py')
-rw-r--r--testing/mozbase/mozprocess/tests/test_params.py94
1 files changed, 94 insertions, 0 deletions
diff --git a/testing/mozbase/mozprocess/tests/test_params.py b/testing/mozbase/mozprocess/tests/test_params.py
new file mode 100644
index 0000000000..4a8e98affd
--- /dev/null
+++ b/testing/mozbase/mozprocess/tests/test_params.py
@@ -0,0 +1,94 @@
+#!/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 unittest
+
+import mozunit
+from mozprocess import processhandler
+
+
+class ParamTests(unittest.TestCase):
+ def test_process_outputline_handler(self):
+ """Parameter processOutputLine is accepted with a single function"""
+
+ def output(line):
+ print("output " + str(line))
+
+ err = None
+ try:
+ processhandler.ProcessHandler(["ls", "-l"], processOutputLine=output)
+ except (TypeError, AttributeError) as e:
+ err = e
+ self.assertFalse(err)
+
+ def test_process_outputline_handler_list(self):
+ """Parameter processOutputLine is accepted with a list of functions"""
+
+ def output(line):
+ print("output " + str(line))
+
+ err = None
+ try:
+ processhandler.ProcessHandler(["ls", "-l"], processOutputLine=[output])
+ except (TypeError, AttributeError) as e:
+ err = e
+ self.assertFalse(err)
+
+ def test_process_ontimeout_handler(self):
+ """Parameter onTimeout is accepted with a single function"""
+
+ def timeout():
+ print("timeout!")
+
+ err = None
+ try:
+ processhandler.ProcessHandler(["sleep", "2"], onTimeout=timeout)
+ except (TypeError, AttributeError) as e:
+ err = e
+ self.assertFalse(err)
+
+ def test_process_ontimeout_handler_list(self):
+ """Parameter onTimeout is accepted with a list of functions"""
+
+ def timeout():
+ print("timeout!")
+
+ err = None
+ try:
+ processhandler.ProcessHandler(["sleep", "2"], onTimeout=[timeout])
+ except (TypeError, AttributeError) as e:
+ err = e
+ self.assertFalse(err)
+
+ def test_process_onfinish_handler(self):
+ """Parameter onFinish is accepted with a single function"""
+
+ def finish():
+ print("finished!")
+
+ err = None
+ try:
+ processhandler.ProcessHandler(["sleep", "1"], onFinish=finish)
+ except (TypeError, AttributeError) as e:
+ err = e
+ self.assertFalse(err)
+
+ def test_process_onfinish_handler_list(self):
+ """Parameter onFinish is accepted with a list of functions"""
+
+ def finish():
+ print("finished!")
+
+ err = None
+ try:
+ processhandler.ProcessHandler(["sleep", "1"], onFinish=[finish])
+ except (TypeError, AttributeError) as e:
+ err = e
+ self.assertFalse(err)
+
+
+if __name__ == "__main__":
+ mozunit.main()