Skip to content

Commit f604c28

Browse files
authored
chore: Restore code coverage (#855)
Mostly get rid of older Py2-only code
1 parent 2634fb9 commit f604c28

File tree

10 files changed

+36
-85
lines changed

10 files changed

+36
-85
lines changed

packages/google-cloud-ndb/.coveragerc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ show_missing = True
77
exclude_lines =
88
# Re-enable the standard pragma
99
pragma: NO COVER
10-
pragma: NO PY${PY_VERSION} COVER
1110
omit =
1211
*/gapic/*.py
1312
*/proto/*.py

packages/google-cloud-ndb/google/cloud/ndb/_eventloop.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,7 @@
2121
import uuid
2222
import time
2323

24-
# Python 2.7 module name change
25-
try:
26-
import queue
27-
except ImportError: # pragma: NO PY3 COVER
28-
import Queue as queue
24+
import queue
2925

3026
from google.cloud.ndb import utils
3127

packages/google-cloud-ndb/google/cloud/ndb/_legacy_protocol_buffer.py

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,7 @@
1818

1919

2020
# Python 3 doesn't have "long" anymore
21-
try:
22-
long(42)
23-
except NameError: # pragma: NO PY2 COVER
24-
long = int
21+
long = int
2522

2623

2724
class ProtocolBufferDecodeError(Exception):
@@ -31,10 +28,7 @@ class ProtocolBufferDecodeError(Exception):
3128
class ProtocolMessage:
3229
def MergePartialFromString(self, s):
3330
a = array.array("B")
34-
try:
35-
a.frombytes(s)
36-
except AttributeError: # pragma: NO PY3 COVER
37-
a.fromstring(s)
31+
a.frombytes(s)
3832
d = Decoder(a, 0, len(a))
3933
self.TryMerge(d)
4034

@@ -204,11 +198,7 @@ def getPrefixedString(self):
204198
raise ProtocolBufferDecodeError("truncated")
205199
r = self.buf[self.idx : self.idx + length] # noqa: E203
206200
self.idx += length
207-
try:
208-
prefixed = r.tobytes()
209-
except AttributeError: # pragma: NO PY3 COVER
210-
prefixed = r.tostring()
211-
return prefixed
201+
return r.tobytes()
212202

213203

214204
__all__ = [

packages/google-cloud-ndb/google/cloud/ndb/context.py

Lines changed: 20 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import collections
1919
import contextlib
20+
import contextvars
2021
import itertools
2122
import os
2223
import six
@@ -60,43 +61,30 @@ def __next__(self):
6061
_context_ids = _ContextIds()
6162

6263

63-
try: # pragma: NO PY2 COVER
64-
import contextvars
64+
class _LocalState:
65+
"""Thread local state."""
6566

66-
class _LocalState:
67-
"""Thread local state."""
68-
69-
def __init__(self):
70-
self._toplevel_context = contextvars.ContextVar(
71-
"_toplevel_context", default=None
72-
)
73-
self._context = contextvars.ContextVar("_context", default=None)
74-
75-
@property
76-
def context(self):
77-
return self._context.get()
78-
79-
@context.setter
80-
def context(self, value):
81-
self._context.set(value)
82-
83-
@property
84-
def toplevel_context(self):
85-
return self._toplevel_context.get()
86-
87-
@toplevel_context.setter
88-
def toplevel_context(self, value):
89-
self._toplevel_context.set(value)
67+
def __init__(self):
68+
self._toplevel_context = contextvars.ContextVar(
69+
"_toplevel_context", default=None
70+
)
71+
self._context = contextvars.ContextVar("_context", default=None)
9072

73+
@property
74+
def context(self):
75+
return self._context.get()
9176

92-
except ImportError: # pragma: NO PY3 COVER
77+
@context.setter
78+
def context(self, value):
79+
self._context.set(value)
9380

94-
class _LocalState(threading.local):
95-
"""Thread local state."""
81+
@property
82+
def toplevel_context(self):
83+
return self._toplevel_context.get()
9684

97-
def __init__(self):
98-
self.context = None
99-
self.toplevel_context = None
85+
@toplevel_context.setter
86+
def toplevel_context(self, value):
87+
self._toplevel_context.set(value)
10088

10189

10290
_state = _LocalState()

packages/google-cloud-ndb/google/cloud/ndb/key.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,7 @@ def __getnewargs__(self):
465465
state to pickle. The dictionary has three keys ``pairs``, ``app``
466466
and ``namespace``.
467467
"""
468-
return ( # pragma: NO PY2 COVER
468+
return (
469469
{
470470
"pairs": self.pairs(),
471471
"app": self.app(),

packages/google-cloud-ndb/google/cloud/ndb/model.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -349,11 +349,7 @@ class Person(Model):
349349
GeoPt = helpers.GeoPoint
350350
Rollback = exceptions.Rollback
351351

352-
353-
try:
354-
_getfullargspec = inspect.getfullargspec
355-
except AttributeError: # pragma: NO PY3 COVER
356-
_getfullargspec = inspect.getargspec
352+
_getfullargspec = inspect.getfullargspec
357353

358354

359355
class KindError(exceptions.BadValueError):
@@ -3064,9 +3060,9 @@ def _from_base_type(self, value):
30643060
Returns:
30653061
Any: The unpickled ``value``.
30663062
"""
3067-
if six.PY3 and type(value) is bytes: # pragma: NO BRANCH
3068-
return pickle.loads(value, encoding="bytes") # pragma: NO PY2 COVER
3069-
return pickle.loads(value) # pragma: NO PY3 COVER
3063+
if type(value) is bytes: # pragma: NO BRANCH
3064+
return pickle.loads(value, encoding="bytes")
3065+
return pickle.loads(value) # pragma: NO COVER
30703066

30713067

30723068
class JsonProperty(BlobProperty):
@@ -3313,7 +3309,7 @@ def __eq__(self, other):
33133309
return self._email == other._email and self._auth_domain == other._auth_domain
33143310

33153311
def __lt__(self, other):
3316-
if not isinstance(other, User): # pragma: NO PY2 COVER
3312+
if not isinstance(other, User):
33173313
return NotImplemented
33183314

33193315
return (self._email, self._auth_domain) < (
@@ -4907,7 +4903,7 @@ def __init__(_self, **kwargs):
49074903

49084904
def _get_property_for(self, p, indexed=True, depth=0):
49094905
"""Internal helper to get the Property for a protobuf-level property."""
4910-
if isinstance(p.name(), six.text_type): # pragma: NO PY2 COVER
4906+
if isinstance(p.name(), six.text_type):
49114907
p.set_name(bytes(p.name(), encoding="utf-8"))
49124908
parts = p.name().decode().split(".")
49134909
if len(parts) <= depth:

packages/google-cloud-ndb/google/cloud/ndb/tasklets.py

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -237,14 +237,7 @@ def get_traceback(self):
237237
Union[types.TracebackType, None]: The traceback, or None.
238238
"""
239239
if self._exception:
240-
try:
241-
traceback = self._exception.__traceback__
242-
except AttributeError: # pragma: NO PY3 COVER # pragma: NO BRANCH
243-
# Python 2 does not have the helpful traceback attribute, and
244-
# since the exception is not being handled, it appears that
245-
# sys.exec_info can't give us the traceback either.
246-
traceback = None
247-
return traceback
240+
return self._exception.__traceback__
248241

249242
def add_done_callback(self, callback):
250243
"""Add a callback function to be run upon task completion. Will run
@@ -322,11 +315,7 @@ def _advance_tasklet(self, send_value=None, error=None):
322315
with self.context.use():
323316
# Send the next value or exception into the generator
324317
if error:
325-
try:
326-
traceback = error.__traceback__
327-
except AttributeError: # pragma: NO PY3 COVER # pragma: NO BRANCH # noqa: E501
328-
traceback = None
329-
318+
traceback = error.__traceback__
330319
yielded = self.generator.throw(type(error), error, traceback)
331320

332321
else:

packages/google-cloud-ndb/google/cloud/ndb/utils.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,7 @@
2020
import os
2121
import threading
2222

23-
try:
24-
_getfullargspec = inspect.getfullargspec
25-
except AttributeError: # pragma: NO PY3 COVER
26-
_getfullargspec = inspect.getargspec
23+
_getfullargspec = inspect.getfullargspec
2724

2825
TRUTHY_STRINGS = {"t", "true", "y", "yes", "on", "1"}
2926

packages/google-cloud-ndb/noxfile.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,7 @@ def cover(session):
7676
# Install all dependencies.
7777
session.install("coverage")
7878
# Run coverage report.
79-
# TODO return to 100% coverage
80-
session.run("coverage", "report", "--fail-under=99", "--show-missing")
79+
session.run("coverage", "report", "--fail-under=100", "--show-missing")
8180
# Erase cached coverage data.
8281
session.run("coverage", "erase")
8382

packages/google-cloud-ndb/tests/unit/test__legacy_entity_pb.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,7 @@
2121

2222
def _get_decoder(s):
2323
a = array.array("B")
24-
try:
25-
a.frombytes(s)
26-
except AttributeError: # pragma: NO PY3 COVER
27-
a.fromstring(s)
24+
a.frombytes(s)
2825
d = pb_module.Decoder(a, 0, len(a))
2926
return d
3027

0 commit comments

Comments
 (0)