import Queue from robot.api.deco import keyword from pypasa import filesearch from pypasa import seriallibrary from pypasa import udplogger class CoreTestLogger(object): ROBOT_LIBRARY_SCOPE = 'TEST CASE' J6_USB_PORT = '/dev/ttyUSB1' J6_USB_PORT_SPEED = 115200 def __init__(self): self._udp = udplogger.UDPConnection() self._j6 = seriallibrary.SerialConnection( port=CoreTestLogger.J6_USB_PORT, baudrate=CoreTestLogger.J6_USB_PORT_SPEED ) self._grep_queue = Queue.Queue() self._udp_logger = None self._serial_logger = None @keyword('Init', ['core']) def init(self, test_name): udp_log = 'udp_{}.log'.format(test_name) serial_log = 'serial_{}.log'.format(test_name) self._udp_logger = filesearch.FileWriter( fileobj=self._udp, filename=udp_log ) self._serial_logger = filesearch.FileWriter( fileobj=self._j6, filename=serial_log ) self._udp_logger.start() self._serial_logger.start() @keyword('Finalize', ['core']) def finalize(self): self._udp_logger.stop() self._serial_logger.stop()