From b02851223c7fbe5eed5d1bfaca68a8690f358d38 Mon Sep 17 00:00:00 2001 From: Erica Pisani Date: Fri, 31 Jul 2026 12:16:36 -0400 Subject: [PATCH] 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 --- tests/test_transport.py | 86 ++++++++++++++++++++++++++++------------- 1 file changed, 60 insertions(+), 26 deletions(-) diff --git a/tests/test_transport.py b/tests/test_transport.py index 8141b9ad8f..3db95c06f6 100644 --- a/tests/test_transport.py +++ b/tests/test_transport.py @@ -109,36 +109,70 @@ def mock_transaction_envelope(span_count: int) -> "Envelope": return envelope -def _transport_works_cases(): - """ - The compression-relevant dimensions (level x algo x http2) are fully - crossed; debug, flush method and pickling are rotated through the cases - so every value of every dimension is still exercised. - """ - algos = ("gzip", "br", "", None) if PY37 else ("gzip", "", None) - http2_options = (True, False) if PY38 else (False,) - cases = [] - i = 0 - for compression_level in (None, 0, 9): - for compression_algo in algos: - for http2 in http2_options: - cases.append( - ( - i % 2 == 0, # debug - ("close", "flush")[i % 2], # client_flush_method - (i // 2) % 2 == 0, # use_pickle - compression_level, - compression_algo, - http2, - ) - ) - i += 1 - return cases +# The compression-relevant dimensions (level x algo x http2) are fully +# crossed; debug, flush method and pickling are rotated through the cases +# so every value of every dimension is still exercised. +# +# (debug, client_flush_method, use_pickle, compression_level, compression_algo, http2) +if PY38: + _transport_works_cases = [ + (True, "close", True, None, "gzip", True), + (False, "flush", True, None, "gzip", False), + (True, "close", False, None, "br", True), + (False, "flush", False, None, "br", False), + (True, "close", True, None, "", True), + (False, "flush", True, None, "", False), + (True, "close", False, None, None, True), + (False, "flush", False, None, None, False), + (True, "close", True, 0, "gzip", True), + (False, "flush", True, 0, "gzip", False), + (True, "close", False, 0, "br", True), + (False, "flush", False, 0, "br", False), + (True, "close", True, 0, "", True), + (False, "flush", True, 0, "", False), + (True, "close", False, 0, None, True), + (False, "flush", False, 0, None, False), + (True, "close", True, 9, "gzip", True), + (False, "flush", True, 9, "gzip", False), + (True, "close", False, 9, "br", True), + (False, "flush", False, 9, "br", False), + (True, "close", True, 9, "", True), + (False, "flush", True, 9, "", False), + (True, "close", False, 9, None, True), + (False, "flush", False, 9, None, False), + ] +elif PY37: + _transport_works_cases = [ + (True, "close", True, None, "gzip", False), + (False, "flush", True, None, "br", False), + (True, "close", False, None, "", False), + (False, "flush", False, None, None, False), + (True, "close", True, 0, "gzip", False), + (False, "flush", True, 0, "br", False), + (True, "close", False, 0, "", False), + (False, "flush", False, 0, None, False), + (True, "close", True, 9, "gzip", False), + (False, "flush", True, 9, "br", False), + (True, "close", False, 9, "", False), + (False, "flush", False, 9, None, False), + ] +else: + _transport_works_cases = [ + (True, "close", True, None, "gzip", False), + (False, "flush", True, None, "", False), + (True, "close", False, None, None, False), + (False, "flush", False, 0, "gzip", False), + (True, "close", True, 0, "", False), + (False, "flush", True, 0, None, False), + (True, "close", False, 9, "gzip", False), + (False, "flush", False, 9, "", False), + (True, "close", True, 9, None, False), + ] @pytest.mark.parametrize( "debug,client_flush_method,use_pickle,compression_level,compression_algo,http2", - _transport_works_cases(), + _transport_works_cases, ) def test_transport_works( capturing_server,