class HostOSDetectionTestCase(unittest.TestCase): def setUp(self): self.plugin_base = HostTestPluginBase() self.os_names = ["Windows7", "Ubuntu", "LinuxGeneric", "Darwin"] self.re_float = re.compile("^\d+\.\d+$") def tearDown(self): pass def test_os_info(self): self.assertNotEqual(None, self.plugin_base.mbed_os_info()) def test_os_support(self): self.assertNotEqual(None, self.plugin_base.mbed_os_support()) def test_supported_os_name(self): self.assertIn(self.plugin_base.mbed_os_support(), self.os_names) def test_detect_os_support_ext(self): os_info = (os.name, platform.system(), platform.release(), platform.version(), sys.platform) self.assertEqual(os_info, self.plugin_base.mbed_os_info()) def test_pyserial_version_as_float(self): pyserial_version = pkg_resources.require("pyserial")[0].version # We want to make sure pyserial version is a parsabl;e float # Because we are using float(version) conversion to check version # of this module self.assertTrue(self.re_float.findall(pyserial_version))
class HostOSDetectionTestCase(unittest.TestCase): def setUp(self): self.plugin_base = HostTestPluginBase() self.os_names = ['Windows7', 'Ubuntu', 'LinuxGeneric', 'Darwin'] self.re_float = re.compile("^\d+\.\d+$") def tearDown(self): pass def test_os_info(self): self.assertNotEqual(None, self.plugin_base.mbed_os_info()) def test_os_support(self): self.assertNotEqual(None, self.plugin_base.mbed_os_support()) def test_supported_os_name(self): self.assertIn(self.plugin_base.mbed_os_support(), self.os_names) def test_detect_os_support_ext(self): os_info = (os.name, platform.system(), platform.release(), platform.version(), sys.platform) self.assertEqual(os_info, self.plugin_base.mbed_os_info()) def test_pyserial_version_as_float(self): pyserial_version = pkg_resources.require("pyserial")[0].version # We want to make sure pyserial version is a parsabl;e float # Because we are using float(version) conversion to check version # of this module self.assertTrue(self.re_float.findall(pyserial_version))
class HostOSDetectionTestCase(unittest.TestCase): def setUp(self): self.plugin_base = HostTestPluginBase() pass def tearDown(self): pass def test_os_info(self): self.assertNotEqual(None, self.plugin_base.mbed_os_info()) def test_os_support(self): self.assertNotEqual(None, self.plugin_base.mbed_os_support()) def test_supported_os_name(self): os_names = ['Windows7', 'Ubuntu', 'LinuxGeneric', 'Darwin'] self.assertIn(self.plugin_base.mbed_os_support(), os_names) def test_detect_os_support_ext(self): os_info = (os.name, platform.system(), platform.release(), platform.version(), sys.platform) self.assertEqual(os_info, self.plugin_base.mbed_os_info())
def __init__(self, name, port, baudrate, config): ConnectorPrimitive.__init__(self, name) self.port = port self.baudrate = int(baudrate) self.read_timeout = 0.01 # 10 milli sec self.write_timeout = 5 self.config = config self.target_id = self.config.get('target_id', None) self.polling_timeout = config.get('polling_timeout', 60) self.forced_reset_timeout = config.get('forced_reset_timeout', 1) self.skip_reset = config.get('skip_reset', False) self.serial = None # Check if serial port for given target_id changed # If it does we will use new port to open connections and make sure reset plugin # later can reuse opened already serial port # # Note: This listener opens serial port and keeps connection so reset plugin uses # serial port object not serial port name! serial_port = HostTestPluginBase().check_serial_port_ready( self.port, target_id=self.target_id, timeout=self.polling_timeout) if serial_port is None: raise ConnectorPrimitiveException("Serial port not ready!") if serial_port != self.port: # Serial port changed for given targetID self.logger.prn_inf("serial port changed from '%s to '%s')" % (self.port, serial_port)) self.port = serial_port startTime = time.time() self.logger.prn_inf( "serial(port=%s, baudrate=%d, read_timeout=%s, write_timeout=%d)" % (self.port, self.baudrate, self.read_timeout, self.write_timeout)) while time.time() - startTime < self.polling_timeout: try: # TIMEOUT: While creating Serial object timeout is delibrately passed as 0. Because blocking in Serial.read # impacts thread and mutliprocess functioning in Python. Hence, instead in self.read() s delay (sleep()) is # inserted to let serial buffer collect data and avoid spinning on non blocking read(). self.serial = Serial(self.port, baudrate=self.baudrate, timeout=0, write_timeout=self.write_timeout) except SerialException as e: self.serial = None self.LAST_ERROR = "connection lost, serial.Serial(%s, %d, %d, %d): %s" % ( self.port, self.baudrate, self.read_timeout, self.write_timeout, str(e)) self.logger.prn_err(str(e)) self.logger.prn_err("Retry after 1 sec until %s seconds" % self.polling_timeout) else: if not self.skip_reset: self.reset_dev_via_serial(delay=self.forced_reset_timeout) break time.sleep(1)
class HostOSDetectionTestCase(unittest.TestCase): def setUp(self): self.plugin_base = HostTestPluginBase() self.os_names = ['Windows7', 'Ubuntu', 'LinuxGeneric', 'Darwin'] self.re_float = re.compile("^\d+\.\d+$") def tearDown(self): pass def test_os_info(self): self.assertNotEqual(None, self.plugin_base.mbed_os_info()) def test_os_support(self): self.assertNotEqual(None, self.plugin_base.mbed_os_support()) def test_supported_os_name(self): self.assertIn(self.plugin_base.mbed_os_support(), self.os_names) def test_detect_os_support_ext(self): os_info = (os.name, platform.system(), platform.release(), platform.version(), sys.platform) self.assertEqual(os_info, self.plugin_base.mbed_os_info())
def __init__(self, port, baudrate, prn_lock, config): self.port = port self.baudrate = int(baudrate) self.timeout = 0 self.prn_lock = prn_lock self.config = config self.logger = HtrunLogger(prn_lock, 'SERI') self.LAST_ERROR = None self.target_id = self.config.get('target_id', None) self.serial_pooling = config.get('serial_pooling', 60) self.forced_reset_timeout = config.get('forced_reset_timeout', 1) # Values used to call serial port listener... self.logger.prn_inf("serial(port=%s, baudrate=%d, timeout=%s)" % (self.port, self.baudrate, self.timeout)) # Check if serial port for given target_id changed # If it does we will use new port to open connections and make sure reset plugin # later can reuse opened already serial port # # Note: This listener opens serial port and keeps connection so reset plugin uses # serial port object not serial port name! _, serial_port = HostTestPluginBase().check_serial_port_ready( self.port, target_id=self.target_id, timeout=self.serial_pooling) if serial_port != self.port: # Serial port changed for given targetID self.logger.prn_inf("serial port changed from '%s to '%s')" % (self.port, serial_port)) self.port = serial_port try: self.serial = Serial(self.port, baudrate=self.baudrate, timeout=self.timeout) except SerialException as e: self.serial = None self.LAST_ERROR = "connection lost, serial.Serial(%s. %d, %d): %s" % ( self.port, self.baudrate, self.timeout, str(e)) self.logger.prn_err(str(e)) else: self.reset_dev_via_serial(delay=self.forced_reset_timeout)
def setUp(self): self.plugin_base = HostTestPluginBase() self.os_names = ["Windows7", "Ubuntu", "LinuxGeneric", "Darwin"] self.re_float = re.compile("^\d+\.\d+$")
def setUp(self): self.plugin_base = HostTestPluginBase() self.os_names = ['Windows7', 'Ubuntu', 'LinuxGeneric', 'Darwin'] self.re_float = re.compile("^\d+\.\d+$")
def setUp(self): self.plugin_base = HostTestPluginBase() pass
def setUp(self): self.plugin_base = HostTestPluginBase() self.os_names = ['Windows7', 'Ubuntu', 'LinuxGeneric', 'Darwin'] self.re_float = re.compile("^\d+\.\d+$")