3 # © Copyright 2021-2022, Scott Gasch
5 """exec_utils unittest."""
14 class TestExecUtils(unittest.TestCase):
15 def test_cmd_showing_output(self):
16 with unittest_utils.RecordStdout() as record:
17 ret = exec_utils.cmd_showing_output('/usr/bin/printf hello')
18 self.assertEqual('hello', record().readline())
19 self.assertEqual(0, ret)
22 def test_cmd_showing_output_with_timeout(self):
24 exec_utils.cmd_showing_output('sleep 10', timeout_seconds=0.1)
25 except subprocess.TimeoutExpired:
28 self.fail('Expected a TimeoutException, didn\'t see one.')
30 def test_cmd_showing_output_fails(self):
31 with unittest_utils.RecordStdout() as record:
32 ret = exec_utils.cmd_showing_output('/usr/bin/printf hello && false')
33 self.assertEqual('hello', record().readline())
34 self.assertEqual(1, ret)
37 def test_cmd_in_background(self):
38 p = exec_utils.cmd_in_background('sleep 100')
39 self.assertEqual(None, p.poll())
42 if __name__ == '__main__':