Skip to content

Commit 331dc63

Browse files
authored
Coverage == 91%. (#2132)
1 parent 86d5afe commit 331dc63

File tree

4 files changed

+8
-14
lines changed

4 files changed

+8
-14
lines changed

pymodbus/framer/socket_framer.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,7 @@ def frameProcessIncomingPacket(self, single, callback, slave, tid=None, **kwargs
7575
while True:
7676
used_len, use_tid, dev_id, data = self.message_handler.decode(self._buffer)
7777
if not data:
78-
if not used_len:
79-
return
80-
self._buffer = self._buffer[used_len :]
81-
continue
78+
return
8279
self._header["uid"] = dev_id
8380
self._header["tid"] = use_tid
8481
self._header["pid"] = 0

pymodbus/framer/tls_framer.py

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
ModbusIOException,
77
)
88
from pymodbus.framer.base import TLS_FRAME_HEADER, ModbusFramer
9-
from pymodbus.logging import Log
109
from pymodbus.message.tls import MessageTLS
1110

1211

@@ -44,25 +43,18 @@ def decode_data(self, data):
4443
return {"fcode": fcode}
4544
return {}
4645

47-
def frameProcessIncomingPacket(self, single, callback, slave, _tid=None, **kwargs):
46+
def frameProcessIncomingPacket(self, _single, callback, _slave, _tid=None, **kwargs):
4847
"""Process new packet pattern."""
4948
# no slave id for Modbus Security Application Protocol
5049

5150
while True:
5251
used_len, use_tid, dev_id, data = self.message_handler.decode(self._buffer)
5352
if not data:
54-
if not used_len:
55-
return
56-
self._buffer = self._buffer[used_len :]
57-
continue
53+
return
5854
self._header["uid"] = dev_id
5955
self._header["tid"] = use_tid
6056
self._header["pid"] = 0
6157

62-
if not self._validate_slave_id(slave, single):
63-
Log.debug("Not in valid slave id - {}, ignoring!!", slave)
64-
self.resetFrame()
65-
return
6658
if (result := self.decoder.decode(data)) is None:
6759
raise ModbusIOException("Unable to decode request")
6860
self.populateResult(result)

pymodbus/pdu.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,9 @@ def __init__(self, function_code, **kwargs):
249249
def decode(self, _data):
250250
"""Decode so this failure will run correctly."""
251251

252+
def encode(self):
253+
"""Decode so this failure will run correctly."""
254+
252255
def execute(self, _context):
253256
"""Build an illegal function request error response.
254257

test/test_framers.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
ModbusAsciiFramer,
1313
ModbusRtuFramer,
1414
ModbusSocketFramer,
15+
ModbusTlsFramer,
1516
)
1617
from pymodbus.transport import CommType
1718
from pymodbus.utilities import ModbusTransactionState
@@ -481,6 +482,7 @@ def test_processincomingpacket_ok(self, framer, message, slave):
481482
(ModbusAsciiFramer, b':01270001000ACD\r\n',),
482483
(ModbusRtuFramer, b"\x01\x03\x03\x01\x00\n\x94\x49",),
483484
(ModbusSocketFramer, b'\x00\x00\x00\x00\x00\x06\x01\x27\x00\x01\x00\n',),
485+
(ModbusTlsFramer, b'\x54\x00\x7c\x00\x02',),
484486
]
485487
)
486488
def test_processincomingpacket_not_ok(self, framer, message):

0 commit comments

Comments
 (0)