Add timeout_seconds to cmd_showing_output.
[python_utils.git] / tests / exec_utils_test.py
index 4c003aa4f045d46d939ade972f47027a8b4ae4bd..11dda89350c9f23c99bb0dba0fdf706d9cb65154 100755 (executable)
@@ -4,6 +4,7 @@
 
 """exec_utils unittest."""
 
+import subprocess
 import unittest
 
 import exec_utils
@@ -18,6 +19,14 @@ class TestExecUtils(unittest.TestCase):
         self.assertEqual(0, ret)
         record().close()
 
+    def test_cmd_showing_output_with_timeout(self):
+        try:
+            exec_utils.cmd_showing_output('sleep 10', timeout_seconds=0.1)
+        except subprocess.TimeoutExpired:
+            pass
+        else:
+            self.fail('Expected a TimeoutException, didn\'t see one.')
+
     def test_cmd_showing_output_fails(self):
         with unittest_utils.RecordStdout() as record:
             ret = exec_utils.cmd_showing_output('/usr/bin/printf hello && false')