def encode(self): buf = ringbuffer.RingBuffer(2**16) pckler = Pickler(buf, protocol=-1, fix_imports=False) pckler.dump(self.value) if buf.freespace == 0: raise ProtocolError("Data too large.") return buf.read()
def __init__(self, fo, prompt="$ ", timeout=90.0): if hasattr(fo, "fileno"): self._fo = fo else: raise ValueError( "Expect: first parameter should be a file-like object.") self.default_timeout = timeout self._prompt = prompt.encode("ascii") self._inbuf = ringbuffer.RingBuffer(4096)
def encode(self): buf = ringbuffer.RingBuffer(2**16) for msg in self.value: msgdata = msg.encode() buf.write(_HEADER.pack(msg.TAG, len(msgdata))) buf.write(msgdata) if buf.freespace == 0: raise ProtocolError("Data too large for container.") return buf.read()
def test_bad_create(self): with pytest.raises(ValueError): ringbuffer.RingBuffer(1000)
def test_create(self): rb = ringbuffer.RingBuffer() assert rb is not None
def rb(): return ringbuffer.RingBuffer(4096)
def _debug(self, c, fsm): print("DEBUG FSM: c: {!s} {}".format(c, fsm.current_state), file=sys.stderr) if __name__ == "__main__": DATA = b"""\r 16:07:41 TEST BEGIN: arc4random_stress\r 16:07:41 PASS #1: pthread_create(&thr[i], ((void*)0), stress, ((void*)0)) == 0\r 16:07:44 TEST END: arc4random_stress\r *** arc4random_stress ***\r Result: Pass\r Time: 00:00:03\r Pass count: 7\r """ fo = ringbuffer.RingBuffer() # Represents a pty or socket fo.write(DATA) term = Terminal(fo) inp = term.read(4096) assert len(DATA) == len(inp) assert inp == DATA CDATA = b"""\x1b[c\x1b[32mGreen\x1b[0m\r\n\x1b[31;01mBright Red\x1b[0m\r\n""" fo = ringbuffer.RingBuffer() fo.write(CDATA) term = Terminal(fo) inp = term.read(4096) EXP = b'Green\r\nBright Red\r\n' assert inp == EXP assert fo.read(4096) == b'\x1b[?1;0c'