@@ -3124,12 +3124,8 @@ def _attempt_want_write_error(
3124
3124
)
3125
3125
initial_want_write_triggered = True
3126
3126
break # Exit loop as desired error was triggered
3127
- except Exception as e : # pragma: no cover
3128
- error_string = str (e )
3129
- logger .debug (f"Attempt { i } failed with error: { error_string } " )
3130
3127
3131
- if not initial_want_write_triggered :
3132
- pytest .fail ("Could not induce WantWriteError" ) # pragma: no cover
3128
+ assert initial_want_write_triggered , "Could not induce WantWriteError"
3133
3129
3134
3130
return msg
3135
3131
@@ -3138,6 +3134,7 @@ def _drain_server_buffers(
3138
3134
) -> None :
3139
3135
"""Reads from server SSL and raw sockets to drain any pending data."""
3140
3136
logger .debug ("--- Phase 2: Draining server buffers ---" )
3137
+
3141
3138
total_ssl_read = 0
3142
3139
consecutive_empty_ssl_reads = 0
3143
3140
@@ -3171,17 +3168,9 @@ def _drain_server_buffers(
3171
3168
)
3172
3169
time .sleep (0.01 ) # Small delay for non-blocking SSL reads
3173
3170
3174
- except SSL .Error as ssl_error :
3175
- logger .debug (f"SSL error during drain: { ssl_error } " )
3176
- break # Stop on SSL protocol errors
3177
- except Exception as e : # Catch other potential errors
3178
- logger .error (f"Unexpected error during SSL drain: { e } " )
3179
- break
3180
-
3181
- logger .debug (f"Finished draining SSL. Bytes read: { total_ssl_read } ." )
3182
-
3183
- # Allow network buffers to settle
3184
- time .sleep (0.1 )
3171
+ logger .debug (
3172
+ f"Finished reading from server. Bytes read: { total_ssl_read } . "
3173
+ )
3185
3174
3186
3175
def _perform_moving_buffer_test (
3187
3176
self , client : Connection , buffer_size : int , want_bad_retry : bool
@@ -3195,27 +3184,21 @@ def _perform_moving_buffer_test(
3195
3184
3196
3185
# Attempt retry with different buffer but same size
3197
3186
msg2 = b"Z" * buffer_size
3198
- logger .debug (f"buffer location for msg3 is { id (msg2 ):#x} " )
3187
+ logger .debug (f"buffer location for msg2 is { id (msg2 ):#x} " )
3199
3188
try :
3200
3189
bytes_written = client .send (msg2 )
3201
- if want_bad_retry :
3202
- logger .debug (
3203
- "_perform_moving_buffer_test() failed as retry succeeded "
3204
- f"unexpectedly with { bytes_written } bytes written."
3205
- ) # pragma: no cover
3190
+ assert not want_bad_retry , (
3191
+ "_perform_moving_buffer_test() failed as retry succeeded "
3192
+ f"unexpectedly with { bytes_written } bytes written."
3193
+ )
3206
3194
return False # Retry succeeded
3207
3195
except SSL .Error as e :
3208
3196
reason = get_ssl_error_reason (e )
3209
- if reason == "bad write retry" :
3210
- logger .debug (f"Got SSL error: { e !r} ({ reason } )." )
3211
- return True # Bad write retry
3212
- else :
3213
- logger .debug (f"Got SSL error: { e !r} ({ reason } )." )
3214
- pytest .fail (
3215
- f"Retry failed with unexpected SSL error: { e !r} "
3216
- f"({ reason } )."
3217
- ) # pragma: no cover
3218
- # If any other exception occurs, it will propagate up
3197
+ assert reason == "bad write retry" , (
3198
+ f"Retry failed with unexpected SSL error: { e !r} ({ reason } )."
3199
+ )
3200
+ logger .debug (f"Got SSL error: { e !r} ({ reason } )." )
3201
+ return True # Bad write retry
3219
3202
3220
3203
def _shutdown_connections (
3221
3204
self ,
@@ -3242,7 +3225,6 @@ def _shutdown_connections(
3242
3225
client_socket .close ()
3243
3226
if server_socket :
3244
3227
server_socket .close ()
3245
- # Connections closed.
3246
3228
3247
3229
def _badwriteretry (
3248
3230
self ,
@@ -3264,7 +3246,7 @@ def _badwriteretry(
3264
3246
create_ssl_nonblocking_connection (modeflag , request_buffer_size )
3265
3247
)
3266
3248
result = False # Default return value
3267
- # set buffer size to the minimum of send and receive buffers
3249
+ # set buffer size to half the minimum of send and receive buffers
3268
3250
buffer_size = min (sndbuf , rcvbuf ) // 2
3269
3251
3270
3252
# --- Main Test Flow ---
@@ -3286,7 +3268,6 @@ def _badwriteretry(
3286
3268
self ._shutdown_connections (
3287
3269
client , server , client_socket , server_socket
3288
3270
)
3289
-
3290
3271
return result
3291
3272
3292
3273
def test_moving_write_buffer_should_pass (self ) -> None :
0 commit comments