Skip to content

Commit b028512

Browse files
committed
ref(tests): Replace _transport_works_cases loop with explicit case list
Write out the parametrized cases for test_transport_works as literal tuples instead of generating them with nested loops, keeping the PY37/PY38-dependent variants as three explicit lists Refs PY-2641
1 parent baf895d commit b028512

1 file changed

Lines changed: 60 additions & 26 deletions

File tree

‎tests/test_transport.py‎

Lines changed: 60 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -109,36 +109,70 @@ def mock_transaction_envelope(span_count: int) -> "Envelope":
109109
return envelope
110110

111111

112-
def _transport_works_cases():
113-
"""
114-
The compression-relevant dimensions (level x algo x http2) are fully
115-
crossed; debug, flush method and pickling are rotated through the cases
116-
so every value of every dimension is still exercised.
117-
"""
118-
algos = ("gzip", "br", "<invalid>", None) if PY37 else ("gzip", "<invalid>", None)
119-
http2_options = (True, False) if PY38 else (False,)
120-
cases = []
121-
i = 0
122-
for compression_level in (None, 0, 9):
123-
for compression_algo in algos:
124-
for http2 in http2_options:
125-
cases.append(
126-
(
127-
i % 2 == 0, # debug
128-
("close", "flush")[i % 2], # client_flush_method
129-
(i // 2) % 2 == 0, # use_pickle
130-
compression_level,
131-
compression_algo,
132-
http2,
133-
)
134-
)
135-
i += 1
136-
return cases
112+
# The compression-relevant dimensions (level x algo x http2) are fully
113+
# crossed; debug, flush method and pickling are rotated through the cases
114+
# so every value of every dimension is still exercised.
115+
#
116+
# (debug, client_flush_method, use_pickle, compression_level, compression_algo, http2)
117+
if PY38:
118+
_transport_works_cases = [
119+
(True, "close", True, None, "gzip", True),
120+
(False, "flush", True, None, "gzip", False),
121+
(True, "close", False, None, "br", True),
122+
(False, "flush", False, None, "br", False),
123+
(True, "close", True, None, "<invalid>", True),
124+
(False, "flush", True, None, "<invalid>", False),
125+
(True, "close", False, None, None, True),
126+
(False, "flush", False, None, None, False),
127+
(True, "close", True, 0, "gzip", True),
128+
(False, "flush", True, 0, "gzip", False),
129+
(True, "close", False, 0, "br", True),
130+
(False, "flush", False, 0, "br", False),
131+
(True, "close", True, 0, "<invalid>", True),
132+
(False, "flush", True, 0, "<invalid>", False),
133+
(True, "close", False, 0, None, True),
134+
(False, "flush", False, 0, None, False),
135+
(True, "close", True, 9, "gzip", True),
136+
(False, "flush", True, 9, "gzip", False),
137+
(True, "close", False, 9, "br", True),
138+
(False, "flush", False, 9, "br", False),
139+
(True, "close", True, 9, "<invalid>", True),
140+
(False, "flush", True, 9, "<invalid>", False),
141+
(True, "close", False, 9, None, True),
142+
(False, "flush", False, 9, None, False),
143+
]
144+
elif PY37:
145+
_transport_works_cases = [
146+
(True, "close", True, None, "gzip", False),
147+
(False, "flush", True, None, "br", False),
148+
(True, "close", False, None, "<invalid>", False),
149+
(False, "flush", False, None, None, False),
150+
(True, "close", True, 0, "gzip", False),
151+
(False, "flush", True, 0, "br", False),
152+
(True, "close", False, 0, "<invalid>", False),
153+
(False, "flush", False, 0, None, False),
154+
(True, "close", True, 9, "gzip", False),
155+
(False, "flush", True, 9, "br", False),
156+
(True, "close", False, 9, "<invalid>", False),
157+
(False, "flush", False, 9, None, False),
158+
]
159+
else:
160+
_transport_works_cases = [
161+
(True, "close", True, None, "gzip", False),
162+
(False, "flush", True, None, "<invalid>", False),
163+
(True, "close", False, None, None, False),
164+
(False, "flush", False, 0, "gzip", False),
165+
(True, "close", True, 0, "<invalid>", False),
166+
(False, "flush", True, 0, None, False),
167+
(True, "close", False, 9, "gzip", False),
168+
(False, "flush", False, 9, "<invalid>", False),
169+
(True, "close", True, 9, None, False),
170+
]
137171

138172

139173
@pytest.mark.parametrize(
140174
"debug,client_flush_method,use_pickle,compression_level,compression_algo,http2",
141-
_transport_works_cases(),
175+
_transport_works_cases,
142176
)
143177
def test_transport_works(
144178
capturing_server,

0 commit comments

Comments
 (0)