Skip to content

Commit 8c14910

Browse files
authored
Coverage 100% (using no cover, when needed). (#2783)
1 parent 28483bc commit 8c14910

12 files changed

+37
-37
lines changed

examples/client_sync.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ def run_sync_client(client, modbus_calls=None):
119119
"""Run sync client."""
120120
_logger.info("### Client starting")
121121
client.connect()
122-
if modbus_calls:
122+
if modbus_calls: # pragma: no cover
123123
modbus_calls(client)
124124
client.close()
125125
_logger.info("### End of Program")

examples/custom_msg.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def encode(self):
5454
:returns: The encoded packet message
5555
"""
5656
res = struct.pack(">B", len(self.values) * 2)
57-
for register in self.values:
57+
for register in self.values: # pragma: no cover
5858
res += struct.pack(">H", register)
5959
return res
6060

@@ -65,7 +65,7 @@ def decode(self, data):
6565
"""
6666
byte_count = int(data[0])
6767
self.values = []
68-
for i in range(1, byte_count + 1, 2):
68+
for i in range(1, byte_count + 1, 2): # pragma: no cover
6969
self.values.append(struct.unpack(">H", data[i : i + 2])[0])
7070

7171

@@ -144,7 +144,7 @@ async def main(host="localhost", port=5020):
144144
request1 = CustomRequest(32, device_id=device_id)
145145
try:
146146
result = await client.execute(False, request1)
147-
except ModbusIOException:
147+
except ModbusIOException: # pragma: no cover
148148
print("Server do not support CustomRequest.")
149149
else:
150150
print(result)

examples/datastore_simulator_share.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,9 @@ def get_commandline(cmdline=None):
142142

143143
def setup_simulator(setup=None, actions=None, cmdline=None):
144144
"""Run server setup."""
145-
if not setup:
145+
if not setup: # pragma: no cover
146146
setup=demo_config
147-
if not actions:
147+
if not actions: # pragma: no cover
148148
actions=demo_actions
149149
args = get_commandline(cmdline=cmdline)
150150
pymodbus_apply_logging_config(args.log.upper())

examples/helper.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ def get_commandline(server: bool = False, description: str | None = None, extras
9292
default=10,
9393
type=float,
9494
)
95-
if extras:
95+
if extras: # pragma: no cover
9696
for extra in extras:
9797
parser.add_argument(extra[0], **extra[1])
9898
args = parser.parse_args(cmdline)
@@ -120,13 +120,13 @@ def get_certificate(suffix: str):
120120
"""Get example certificate."""
121121
delimiter = "\\" if os.name == "nt" else "/"
122122
cwd = os.getcwd().split(delimiter)[-1]
123-
if cwd == "examples":
123+
if cwd == "examples": # pragma: no cover
124124
path = "."
125-
elif cwd == "sub_examples":
125+
elif cwd == "sub_examples": # pragma: no cover
126126
path = "../../examples"
127-
elif cwd == "test":
127+
elif cwd == "test": # pragma: no cover
128128
path = "../examples"
129-
elif cwd == "pymodbus":
129+
elif cwd == "pymodbus": # pragma: no cover
130130
path = "examples"
131131
else:
132132
raise RuntimeError(f"**Error** Cannot find certificate path={cwd}")

examples/message_parser.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ def report(self, message):
9696
f"{'name':.15s} = {message.__class__.__name__}"
9797
)
9898
for k_dict, v_dict in message.__dict__.items():
99-
if isinstance(v_dict, dict):
99+
if isinstance(v_dict, dict): # pragma: no cover
100100
print(f"{k_dict:.15s} =")
101101
for k_item, v_item in v_dict.items():
102102
print(f" {k_item:.12s} => {v_item}"
@@ -121,7 +121,7 @@ def parse_messages(cmdline=None):
121121
args = get_commandline(cmdline=cmdline)
122122
pymodbus_apply_logging_config(args.log.upper())
123123
_logger.setLevel(args.log.upper())
124-
if not args.message:
124+
if not args.message: # pragma: no cover
125125
_logger.error("Missing --message.")
126126
return
127127

examples/server_async.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -79,19 +79,19 @@ def setup_server(description=None, context=None, cmdline=None):
7979
# If you initialize a DataBlock to addresses of 0x00 to 0xFF, a request to
8080
# 0x100 will respond with an invalid address exception.
8181
# This is because many devices exhibit this kind of behavior (but not all)
82-
if args.store == "sequential":
82+
if args.store == "sequential": # pragma: no cover
8383
# Continuing, use a sequential block without gaps.
8484
datablock = lambda : ModbusSequentialDataBlock(0x00, [17] * 100) # pylint: disable=unnecessary-lambda-assignment
85-
elif args.store == "sparse":
85+
elif args.store == "sparse": # pragma: no cover
8686
# Continuing, or use a sparse DataBlock which can have gaps
8787
datablock = lambda : ModbusSparseDataBlock({0x00: 0, 0x05: 1}) # pylint: disable=unnecessary-lambda-assignment
88-
elif args.store == "factory":
88+
elif args.store == "factory": # pragma: no cover
8989
# Alternately, use the factory methods to initialize the DataBlocks
9090
# or simply do not pass them to have them initialized to 0x00 on the
9191
# full address range::
9292
datablock = lambda : ModbusSequentialDataBlock.create() # pylint: disable=unnecessary-lambda-assignment,unnecessary-lambda
9393

94-
if args.device_ids > 1:
94+
if args.device_ids > 1: # pragma: no cover
9595
# The server then makes use of a server context that allows the server
9696
# to respond with different device contexts for different device ids.
9797
# By default it will return the same context for every device id supplied
@@ -185,7 +185,7 @@ async def run_async_server(args) -> None:
185185
# ignore_missing_devices=True, # ignore request to a missing device
186186
# broadcast_enable=False, # treat device_id 0 as broadcast address,
187187
)
188-
elif args.comm == "tls":
188+
elif args.comm == "tls": # pragma: no cover
189189
address = (args.host if args.host else "", args.port if args.port else None)
190190
await StartAsyncTlsServer(
191191
context=args.context, # Data storage
@@ -208,7 +208,7 @@ async def run_async_server(args) -> None:
208208
)
209209

210210

211-
async def async_helper() -> None:
211+
async def async_helper() -> None: # pragma: no cover
212212
"""Combine setup and run."""
213213
_logger.info("Starting...")
214214
run_args = setup_server(description="Run asynchronous server.")

examples/server_sync.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ def run_sync_server(args) -> None:
9090
# broadcast_enable=False, # treat device_id 0 as broadcast address,
9191
# timeout=1, # waiting time for request to complete
9292
)
93-
elif args.comm == "serial":
93+
elif args.comm == "serial": # pragma: no cover
9494
# socat -d -d PTY,link=/tmp/ptyp0,raw,echo=0,ispeed=9600
9595
# PTY,link=/tmp/ttyp0,raw,echo=0,ospeed=9600
9696
StartSerialServer(
@@ -108,7 +108,7 @@ def run_sync_server(args) -> None:
108108
# ignore_missing_devices=True, # ignore request to a missing device
109109
# broadcast_enable=False, # treat device_id 0 as broadcast address,
110110
)
111-
elif args.comm == "tls":
111+
elif args.comm == "tls": # pragma: no cover
112112
address = ("", args.port) if args.port else None
113113
StartTlsServer(
114114
context=args.context, # Data storage
@@ -131,7 +131,7 @@ def run_sync_server(args) -> None:
131131
)
132132

133133

134-
def sync_helper() -> None:
134+
def sync_helper() -> None: # pragma: no cover
135135
"""Combine setup and run."""
136136
run_args = server_async.setup_server(description="Run synchronous server.")
137137
run_sync_server(run_args)

examples/simple_async_client.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ async def run_async_simple_client(comm, host, port, framer=FramerType.SOCKET):
4444
# retries=3,
4545
# source_address=None,
4646
)
47-
elif comm == "serial":
47+
elif comm == "serial": # pragma: no cover
4848
client = ModbusClient.AsyncModbusSerialClient(
4949
port,
5050
framer=framer,
@@ -56,7 +56,7 @@ async def run_async_simple_client(comm, host, port, framer=FramerType.SOCKET):
5656
stopbits=1,
5757
# handle_local_echo=False,
5858
)
59-
else:
59+
else: # pragma: no cover
6060
print(f"Unknown client {comm} selected")
6161
return
6262

@@ -69,23 +69,23 @@ async def run_async_simple_client(comm, host, port, framer=FramerType.SOCKET):
6969
try:
7070
# See all calls in client_calls.py
7171
rr = await client.read_coils(1, count=1, device_id=1)
72-
except ModbusException as exc:
72+
except ModbusException as exc: # pragma: no cover
7373
print(f"Received ModbusException({exc}) from library")
7474
client.close()
7575
return
76-
if rr.isError():
76+
if rr.isError(): # pragma: no cover
7777
print(f"Received exception from device ({rr})")
7878
# THIS IS NOT A PYTHON EXCEPTION, but a valid modbus message
7979
client.close()
8080
return
8181
try:
8282
# See all calls in client_calls.py
8383
rr = await client.read_holding_registers(10, count=2, device_id=1)
84-
except ModbusException as exc:
84+
except ModbusException as exc: # pragma: no cover
8585
print(f"Received ModbusException({exc}) from library")
8686
client.close()
8787
return
88-
if rr.isError():
88+
if rr.isError(): # pragma: no cover
8989
print(f"Received exception from device ({rr})")
9090
# THIS IS NOT A PYTHON EXCEPTION, but a valid modbus message
9191
client.close()

examples/simple_sync_client.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ def run_sync_simple_client(comm, host, port, framer=FramerType.SOCKET):
4646
# retries=3,
4747
# source_address=None,
4848
)
49-
elif comm == "serial":
49+
elif comm == "serial": # pragma: no cover
5050
client = ModbusClient.ModbusSerialClient(
5151
port,
5252
framer=framer,
@@ -58,7 +58,7 @@ def run_sync_simple_client(comm, host, port, framer=FramerType.SOCKET):
5858
stopbits=1,
5959
# handle_local_echo=False,
6060
)
61-
else:
61+
else: # pragma: no cover
6262
print(f"Unknown client {comm} selected")
6363
return
6464

@@ -68,23 +68,23 @@ def run_sync_simple_client(comm, host, port, framer=FramerType.SOCKET):
6868
print("get and verify data")
6969
try:
7070
rr = client.read_coils(1, count=1, device_id=1)
71-
except ModbusException as exc:
71+
except ModbusException as exc: # pragma: no cover
7272
print(f"Received ModbusException({exc}) from library")
7373
client.close()
7474
return
75-
if rr.isError():
75+
if rr.isError(): # pragma: no cover
7676
print(f"Received exception from device ({rr})")
7777
# THIS IS NOT A PYTHON EXCEPTION, but a valid modbus message
7878
client.close()
7979
return
8080
try:
8181
# See all calls in client_calls.py
8282
rr = client.read_holding_registers(10, count=2, device_id=1)
83-
except ModbusException as exc:
83+
except ModbusException as exc: # pragma: no cover
8484
print(f"Received ModbusException({exc}) from library")
8585
client.close()
8686
return
87-
if rr.isError():
87+
if rr.isError(): # pragma: no cover
8888
print(f"Received exception from device ({rr})")
8989
# THIS IS NOT A PYTHON EXCEPTION, but a valid modbus message
9090
client.close()

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ exclude_also = [
241241
"if __name__ == .__main__.:",
242242
]
243243
skip_covered = true
244-
fail_under = 98.5
244+
fail_under = 99.5
245245

246246
[tool.coverage.html]
247247
directory = "build/cov"

0 commit comments

Comments
 (0)