def test_start_and_wait_flash_executes(self, logger): base = FlasherBase(logger) command = """ import sys sys.stdout.write("asd") """ args = ["python", "-uc", command] returncode, output = base._start_and_wait_flash(args, "") self.assertEqual(returncode, 0) self.assertEqual(output, b"asd")
def test_start_and_wait_flash_timeout_sigterm(self, logger): FlasherBase.FLASH_TIMEOUT = 0.5 base = FlasherBase(logger) command = """ import sys import time sys.stdout.write("asd") sys.stdout.flush() time.sleep(2) """ args = ["python", "-uc", command] returncode, output = base._start_and_wait_flash(args, "") if sys.platform.startswith("win"): self.assertEqual(returncode, 1) else: self.assertEqual(returncode, -15) self.assertEqual(output, b"asd")
def test_start_and_wait_flash_timeout_sigkill(self, logger): FlasherBase.FLASH_TIMEOUT = 0.5 FlasherBase.PROCESS_END_TIMEOUT = 0.5 base = FlasherBase(logger) command = """ import signal import sys import time def handler(s, f): sys.stdout.write("asd") sys.stdout.flush() time.sleep(2) signal.signal(signal.SIGTERM, handler) time.sleep(2) """ args = ["python", "-uc", command] returncode, output = base._start_and_wait_flash(args, "") if sys.platform.startswith("win"): self.assertEqual(returncode, 1) else: self.assertEqual(returncode, -9) self.assertEqual(output, b"asd")
def __init__(self, logger=None): FlasherBase.__init__(self, logger)
def test_is_ok(self, logger): with self.assertRaises(NotImplementedError): FlasherBase.get_supported_targets() with self.assertRaises(NotImplementedError): FlasherBase.get_available_devices() with self.assertRaises(NotImplementedError): FlasherBase.can_flash("") with self.assertRaises(NotImplementedError): FlasherBase.is_executable_installed() base = FlasherBase(logger) with self.assertRaises(NotImplementedError): base.flash("", "", "", "") self.assertTrue(hasattr(FlasherBase, 'name')) self.assertTrue(hasattr(FlasherBase, 'executable')) self.assertTrue(hasattr(FlasherBase, 'supported_targets')) self.assertTrue(hasattr(base, '_start_and_wait_flash')) self.assertTrue(hasattr(base, '_flash_run'))