def test_serialcomm_read_raw(): comm = SerialCommunicator(serial.Serial()) comm._conn = mock.MagicMock() comm._conn.read = mock.MagicMock(side_effect=[b"a", b"b", b"c", b"\n"]) assert comm.read_raw() == b"abc" comm._conn.read.assert_has_calls([mock.call(1)] * 4) assert comm._conn.read.call_count == 4 comm._conn.read = mock.MagicMock() comm.read_raw(10) comm._conn.read.assert_called_with(10)
def test_serialcomm_read_raw_timeout(): with pytest.raises(IOError): comm = SerialCommunicator(serial.Serial()) comm._conn = mock.MagicMock() comm._conn.read = mock.MagicMock(side_effect=[b"a", b"b", b""]) _ = comm.read_raw(-1)
def test_loopbackcomm_read_raw_2char_terminator(): comm = SerialCommunicator(serial.Serial()) comm._conn = mock.MagicMock() comm._conn.read = mock.MagicMock( side_effect=[b"a", b"b", b"c", b"\r", b"\n"]) comm._terminator = "\r\n" assert comm.read_raw() == b"abc" comm._conn.read.assert_has_calls([mock.call(1)] * 5) assert comm._conn.read.call_count == 5