Skip to content

Commit 9df16ce

Browse files
Pavel Minaevint19h
authored andcommitted
Re-enable coverage for debugpy.common.log and use comments to exclude specific lines instead.
1 parent 8e91dfb commit 9df16ce

4 files changed

Lines changed: 24 additions & 28 deletions

File tree

.coveragerc

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,10 @@ omit =
88
src/debugpy/_version.py
99
src/debugpy/_vendored/*
1010
src/debugpy/server/*
11-
src/debugpy/common/log.py
1211
data_file = coverage/.coverage
1312

1413
[report]
15-
exclude_lines =
16-
# Have to re-enable the standard pragma.
17-
pragma: no cover
18-
14+
exclude_also =
1915
# __repr__ is mostly used for error messages.
2016
def __repr__
2117

src/debugpy/common/log.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def __init__(self, filename, file, levels=LEVELS, close_file=True):
5858
platform.machine(),
5959
platform.python_implementation(),
6060
platform.python_version(),
61-
64 if sys.maxsize > 2 ** 32 else 32,
61+
64 if sys.maxsize > 2**32 else 32,
6262
debugpy.__version__,
6363
_to_files=[self],
6464
)
@@ -78,7 +78,7 @@ def write(self, level, output):
7878
try:
7979
self.file.write(output)
8080
self.file.flush()
81-
except Exception:
81+
except Exception: # pragma: no cover
8282
pass
8383

8484
def close(self):
@@ -90,7 +90,7 @@ def close(self):
9090
if self.close_file:
9191
try:
9292
self.file.close()
93-
except Exception:
93+
except Exception: # pragma: no cover
9494
pass
9595

9696
def __enter__(self):
@@ -151,7 +151,7 @@ def write_format(level, format_string, *args, **kwargs):
151151

152152
try:
153153
text = format_string.format(*args, **kwargs)
154-
except Exception:
154+
except Exception: # pragma: no cover
155155
reraise_exception()
156156

157157
return write(level, text, kwargs.pop("_to_files", all))
@@ -253,7 +253,7 @@ def to_file(filename=None, prefix=None, levels=LEVELS):
253253
return NoLog()
254254
try:
255255
os.makedirs(log_dir)
256-
except OSError:
256+
except OSError: # pragma: no cover
257257
pass
258258
filename = f"{log_dir}/{prefix}-{os.getpid()}.log"
259259

@@ -347,7 +347,7 @@ def report_paths(get_paths, label=None):
347347
importlib_metadata = None
348348
try:
349349
import importlib_metadata
350-
except ImportError:
350+
except ImportError: # pragma: no cover
351351
try:
352352
from importlib import metadata as importlib_metadata
353353
except ImportError:

src/debugpy/common/messaging.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ def from_socket(cls, sock, name=None):
102102
def cleanup():
103103
try:
104104
sock.shutdown(socket.SHUT_RDWR)
105-
except Exception:
105+
except Exception: # pragma: no cover
106106
pass
107107
sock.close()
108108

@@ -155,7 +155,7 @@ def close(self):
155155
self._reader.close()
156156
finally:
157157
self._cleanup()
158-
except Exception:
158+
except Exception: # pragma: no cover
159159
log.reraise_exception("Error while closing {0} message stream", self.name)
160160

161161
def _log_message(self, dir, data, logger=log.debug):
@@ -206,7 +206,7 @@ def log_message_and_reraise_exception(format_string="", *args, **kwargs):
206206
while True:
207207
try:
208208
line = read_line()
209-
except Exception:
209+
except Exception: # pragma: no cover
210210
# Only log it if we have already read some headers, and are looking
211211
# for a blank line terminating them. If this is the very first read,
212212
# there's no message data to log in any case, and the caller might
@@ -229,7 +229,7 @@ def log_message_and_reraise_exception(format_string="", *args, **kwargs):
229229
length = int(headers[b"Content-Length"])
230230
if not (0 <= length <= self.MAX_BODY_SIZE):
231231
raise ValueError
232-
except (KeyError, ValueError):
232+
except (KeyError, ValueError): # pragma: no cover
233233
try:
234234
raise IOError("Content-Length is missing or invalid:")
235235
except Exception:
@@ -253,12 +253,12 @@ def log_message_and_reraise_exception(format_string="", *args, **kwargs):
253253
body = b"".join(raw_chunks[body_start:])
254254
try:
255255
body = body.decode("utf-8")
256-
except Exception:
256+
except Exception: # pragma: no cover
257257
log_message_and_reraise_exception()
258258

259259
try:
260260
body = decoder.decode(body)
261-
except Exception:
261+
except Exception: # pragma: no cover
262262
log_message_and_reraise_exception()
263263

264264
# If parsed successfully, log as JSON for readability.
@@ -285,7 +285,7 @@ def write_json(self, value, encoder=None):
285285

286286
try:
287287
body = encoder.encode(value)
288-
except Exception:
288+
except Exception: # pragma: no cover
289289
self._log_message("<--", repr(value), logger=log.reraise_exception)
290290
body = body.encode("utf-8")
291291

@@ -297,7 +297,7 @@ def write_json(self, value, encoder=None):
297297
written = writer.write(data[data_written:])
298298
data_written += written
299299
writer.flush()
300-
except Exception as exc:
300+
except Exception as exc: # pragma: no cover
301301
self._log_message("<--", value, logger=log.swallow_exception)
302302
raise JsonIOError(stream=self, cause=exc)
303303

@@ -344,7 +344,7 @@ def __init__(self, message, items=None):
344344
def __repr__(self):
345345
try:
346346
return format(json.repr(self))
347-
except Exception:
347+
except Exception: # pragma: no cover
348348
return super().__repr__()
349349

350350
def __call__(self, key, validate, optional=False):

src/debugpy/common/sockets.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@ def create_server(host, port=0, backlog=socket.SOMAXCONN, timeout=None):
3030
else:
3131
try:
3232
server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
33-
except (AttributeError, OSError):
33+
except (AttributeError, OSError): # pragma: no cover
3434
pass # Not available everywhere
3535
server.bind((host, port))
3636
if timeout is not None:
3737
server.settimeout(timeout)
3838
server.listen(backlog)
39-
except Exception:
39+
except Exception: # pragma: no cover
4040
server.close()
4141
raise
4242
return server
@@ -56,19 +56,19 @@ def _new_sock():
5656
# and closes the connection after 5 failed ping (TCP_KEEPCNT), or 15 seconds
5757
try:
5858
sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
59-
except (AttributeError, OSError):
59+
except (AttributeError, OSError): # pragma: no cover
6060
pass # May not be available everywhere.
6161
try:
6262
sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, 1)
63-
except (AttributeError, OSError):
63+
except (AttributeError, OSError): # pragma: no cover
6464
pass # May not be available everywhere.
6565
try:
6666
sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPINTVL, 3)
67-
except (AttributeError, OSError):
67+
except (AttributeError, OSError): # pragma: no cover
6868
pass # May not be available everywhere.
6969
try:
7070
sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPCNT, 5)
71-
except (AttributeError, OSError):
71+
except (AttributeError, OSError): # pragma: no cover
7272
pass # May not be available everywhere.
7373
return sock
7474

@@ -82,7 +82,7 @@ def close_socket(sock):
8282
"""Shutdown and close the socket."""
8383
try:
8484
shut_down(sock)
85-
except Exception:
85+
except Exception: # pragma: no cover
8686
pass
8787
sock.close()
8888

@@ -98,7 +98,7 @@ def serve(name, handler, host, port=0, backlog=socket.SOMAXCONN, timeout=None):
9898

9999
try:
100100
listener = create_server(host, port, backlog, timeout)
101-
except Exception:
101+
except Exception: # pragma: no cover
102102
log.reraise_exception(
103103
"Error listening for incoming {0} connections on {1}:{2}:", name, host, port
104104
)

0 commit comments

Comments
 (0)