Host test: wrapped timeout for MUTs serial port access to handle IO_SERIAL error while accessing serial port

pull/443/head
Przemek Wirkus 2014-08-13 11:11:51 +01:00
parent d076c51060
commit 005c3a7b87
3 changed files with 15 additions and 2 deletions

View File

@ -86,6 +86,7 @@ class Mbed:
print 'Mbed: "%s" "%s"' % (self.port, self.disk)
def init_serial(self, baud=9600, extra_baud=9600):
""" Initialize serial port. Function will return error is port can't be opened or initialized """
result = True
try:
self.serial = Serial(self.port, timeout=1)
@ -100,6 +101,14 @@ class Mbed:
self.flush()
return result
def serial_timeout(self, timeout):
""" Wraps self.mbed.serial object timeout property """
result = None
if self.serial:
self.serial.timeout = timeout
result = True
return result
def serial_read(self, count=1):
""" Wraps self.mbed.serial object read method """
result = None

View File

@ -26,7 +26,9 @@ class RTCTest(DefaultTest):
def run(self):
test_result = True
c = self.mbed.serial.timeout = None
if self.mbed.serial_timeout(None) is None:
self.print_result("ioerr_serial")
return
for i in range(0, 5):
c = self.mbed.serial_read(38) # 38 len("[1256729742] [2009-10-28 11:35:42 AM]\n"
if c is None:

View File

@ -23,7 +23,9 @@ class WaitusTest(DefaultTest):
def run(self):
test_result = True
# First character to start test (to know after reset when test starts)
self.mbed.serial.timeout = None
if self.mbed.serial_timeout(None) is None:
self.print_result("ioerr_serial")
return
c = self.mbed.serial_read(1)
if c is None:
self.print_result("ioerr_serial")