示例#1
0
    def read_until_string(self, str):
        """Pretend to read from the port until the given string is
        detected or the read times out.  Return the previously recorded
        result.
        """
        timestamp, parameters = self.next_log("read-until")
        # extract the argument, result, and status
        status = None
        if parameters.endswith("]"):
            pos = parameters.rindex(" [")
            status = parameters[pos + 2:-1]
            parameters = parameters[:pos]
        log_str, log_result = [eval(p) for p in parameters.split(" = ", 1)]

        if log_str != str:
            warn("%d: read-until(%r) != log(%r)" %
                 (self.line_number, str, log_str))

        if self.mimic_timing:
            time.sleep(timestamp - self.timestamp)

        self.timestamp = timestamp
        if status == "interval-expired":
            raise exception.IntervalTimeout(response=log_result)
        if status == "timeout-expired":
            raise exception.ReadTimeout(response=log_result)
        return log_result
示例#2
0
    def read_until_string(self, str):
        """Pretend to read from the port until the given string is
        detected or the read times out.  Return the previously recorded
        result.
        """
        timestamp, parameters = self.next_log("read-until")
        # extract the argument, result, and status
        status = None
        if parameters.endswith("]"):
            pos = parameters.rindex(" [")
            status = parameters[pos+2:-1]
            parameters = parameters[:pos]
        log_str, log_result = [eval(p) for p in parameters.split(" = ", 1)]

        if log_str != str:
            warn("%d: read-until(%r) != log(%r)" % (self.line_number, str, log_str))

        if self.mimic_timing:
            time.sleep(timestamp - self.timestamp)

        self.timestamp = timestamp
        if status == "interval-expired":
            raise exception.IntervalTimeout(response=log_result)
        if status == "timeout-expired":
            raise exception.ReadTimeout(response=log_result)
        return log_result
示例#3
0
 def set_baudrate(self, baud):
     """Pretend to set the serial port baud rate"""
     timestamp, baudrate = self.next_log("set-baud")
     baudrate = int(baudrate)
     if baudrate != baud:
         warn("%d: set-baud(%d) != %d" % (self.line_number, baud, baudrate))
     self.baudrate = baudrate
     self.timestamp = timestamp
     return
示例#4
0
 def set_baudrate(self, baud):
     """Pretend to set the serial port baud rate"""
     timestamp, baudrate = self.next_log("set-baud")
     baudrate = int(baudrate)
     if baudrate != baud:
         warn("%d: set-baud(%d) != %d" % (self.line_number, baud, baudrate))
     self.baudrate = baudrate
     self.timestamp = timestamp
     return
示例#5
0
 def set_timeout(self, timeout, interval=None):
     """Pretend to set the timeout and polling interval"""
     if interval == None: interval = timeout
     timestamp, parameters = self.next_log("set-timeout")
     log_timeout, log_interval = [float(p) for p in parameters.split(" ")]
     if timeout != log_timeout or interval != log_interval:
         warn("%d: set-timeout(%f,%f) != log(%f,%f)" %
               (self.line_number, timeout, interval, log_timeout, log_interval))
     self.timestamp = timestamp
     return
示例#6
0
 def set_timeout(self, timeout, interval=None):
     """Pretend to set the timeout and polling interval"""
     if interval == None: interval = timeout
     timestamp, parameters = self.next_log("set-timeout")
     log_timeout, log_interval = [float(p) for p in parameters.split(" ")]
     if timeout != log_timeout or interval != log_interval:
         warn("%d: set-timeout(%f,%f) != log(%f,%f)" %
              (self.line_number, timeout, interval, log_timeout,
               log_interval))
     self.timestamp = timestamp
     return
示例#7
0
 def clear_tx_buffer(self):
     """Pretend to clear the transmission buffer"""
     timestamp, buffer = self.next_log("clear")
     if buffer != "tx":
         warn("%d: clear %s != tx" % (self.line_number, buffer))
     return
示例#8
0
 def clear_rx_buffer(self):
     """Pretend to clear the receive buffer"""
     timestamp, buffer = self.next_log("clear")
     if buffer != "rx":
         warn("%d: clear %s != rx" % (self.line_number, buffer))
     return
示例#9
0
 def set_baudrate(self, baud):
     """Set (and log) the serial port baud rate"""
     warn("set-baud %d" % baud)
     return
示例#10
0
 def clear_tx_buffer(self):
     """Clear the transmission buffer"""
     warn("clear tx")
     return
示例#11
0
 def clear_rx_buffer(self):
     """Clear the receive buffer"""
     warn("clear rx")
     self.buffer=""
     return
示例#12
0
 def set_baudrate(self, baud):
     """Set (and log) the serial port baud rate"""
     warn("set-baud %d" % baud)
     return
示例#13
0
 def write(self, str):
     """Write the given string to the port"""
     warn("write %r" % str)
     self.sock.send(str)
     return
示例#14
0
 def clear_tx_buffer(self):
     """Clear the transmission buffer"""
     warn("clear tx")
     return
示例#15
0
 def clear_rx_buffer(self):
     """Clear the receive buffer"""
     warn("clear rx")
     self.buffer = ""
     return
示例#16
0
 def clear_rx_buffer(self):
     """Pretend to clear the receive buffer"""
     timestamp, buffer = self.next_log("clear")
     if buffer != "rx":
         warn("%d: clear %s != rx" % (self.line_number, buffer))
     return
示例#17
0
 def clear_tx_buffer(self):
     """Pretend to clear the transmission buffer"""
     timestamp, buffer = self.next_log("clear")
     if buffer != "tx":
         warn("%d: clear %s != tx" % (self.line_number, buffer))
     return
示例#18
0
 def write(self, str):
     """Write the given string to the port"""
     warn("write %r" % str)
     self.sock.send(str)
     return