コード例 #1
0
    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")
コード例 #2
0
    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")
コード例 #3
0
    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")
コード例 #4
0
ファイル: FlasherJLink.py プロジェクト: bridadan/mbed-flasher
 def __init__(self, logger=None):
     FlasherBase.__init__(self, logger)
コード例 #5
0
    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'))