@@ -693,9 +693,11 @@ def test_3000_N_client_pipeline_cancel(self):
693
693
listener .setsockopt (socket .SOL_SOCKET , socket .SO_REUSEADDR , 1 )
694
694
listener .bind (("" , self .server11_port ))
695
695
listener .settimeout (TIMEOUT )
696
- listener .listen (1 )
696
+ listener .listen (0 )
697
697
server , addr = listener .accept ()
698
698
wait_http_listeners_up (self .EA1 .addresses [0 ], l_filter = {'name' : 'L_testServer11' })
699
+ # prevent router reconnect when server socket closes (ISSUE-1373)
700
+ listener .shutdown (socket .SHUT_RDWR )
699
701
700
702
clients = []
701
703
for index in range (CLIENT_COUNT ):
@@ -841,7 +843,7 @@ def test_3001_N_client_pipeline_recover(self):
841
843
listener .setsockopt (socket .SOL_SOCKET , socket .SO_REUSEADDR , 1 )
842
844
listener .bind ((self .server11_host , self .server11_port ))
843
845
listener .settimeout (TIMEOUT )
844
- listener .listen (1 )
846
+ listener .listen (0 )
845
847
server , addr = listener .accept ()
846
848
wait_http_listeners_up (self .EA1 .addresses [0 ], l_filter = {'name' : 'L_testServer11' })
847
849
@@ -923,6 +925,8 @@ def test_3001_N_client_pipeline_recover(self):
923
925
924
926
server , addr = listener .accept ()
925
927
wait_http_listeners_up (self .EA1 .addresses [0 ], l_filter = {'name' : 'L_testServer11' })
928
+ # prevent router reconnect when server socket closes (ISSUE-1373)
929
+ listener .shutdown (socket .SHUT_RDWR )
926
930
927
931
# expect the remaining requests to complete successfully
928
932
@@ -982,9 +986,11 @@ def test_4000_client_half_close(self):
982
986
listener .setsockopt (socket .SOL_SOCKET , socket .SO_REUSEADDR , 1 )
983
987
listener .bind ((self .server11_host , self .server11_port ))
984
988
listener .settimeout (TIMEOUT )
985
- listener .listen (1 )
989
+ listener .listen (0 )
986
990
server , addr = listener .accept ()
987
991
wait_http_listeners_up (self .EA1 .addresses [0 ], l_filter = {'name' : 'L_testServer11' })
992
+ # prevent router reconnect when server socket closes (ISSUE-1373)
993
+ listener .shutdown (socket .SHUT_RDWR )
988
994
989
995
clients = []
990
996
for index in range (CLIENT_COUNT ):
@@ -1063,9 +1069,11 @@ def test_4001_server_half_close(self):
1063
1069
listener .setsockopt (socket .SOL_SOCKET , socket .SO_REUSEADDR , 1 )
1064
1070
listener .bind ((self .server11_host , self .server11_port ))
1065
1071
listener .settimeout (TIMEOUT )
1066
- listener .listen (1 )
1072
+ listener .listen (0 )
1067
1073
server , addr = listener .accept ()
1068
1074
wait_http_listeners_up (self .EA1 .addresses [0 ], l_filter = {'name' : 'L_testServer11' })
1075
+ # prevent router reconnect when server socket closes (ISSUE-1373)
1076
+ listener .shutdown (socket .SHUT_RDWR )
1069
1077
1070
1078
client = socket .socket (socket .AF_INET , socket .SOCK_STREAM )
1071
1079
client .setsockopt (socket .IPPROTO_TCP , socket .TCP_NODELAY , 1 )
@@ -1115,9 +1123,11 @@ def test_4002_server_early_reply(self):
1115
1123
listener .setsockopt (socket .SOL_SOCKET , socket .SO_REUSEADDR , 1 )
1116
1124
listener .bind ((self .server11_host , self .server11_port ))
1117
1125
listener .settimeout (TIMEOUT )
1118
- listener .listen (1 )
1126
+ listener .listen (0 )
1119
1127
server , addr = listener .accept ()
1120
1128
wait_http_listeners_up (self .EA1 .addresses [0 ], l_filter = {'name' : 'L_testServer11' })
1129
+ # prevent router reconnect when server socket closes (ISSUE-1373)
1130
+ listener .shutdown (socket .SHUT_RDWR )
1121
1131
1122
1132
client = socket .socket (socket .AF_INET , socket .SOCK_STREAM )
1123
1133
client .setsockopt (socket .IPPROTO_TCP , socket .TCP_NODELAY , 1 )
@@ -1310,9 +1320,11 @@ def test_4000_server_no_notify(self):
1310
1320
with self .server_ssl_context .wrap_socket (raw_listener ,
1311
1321
server_side = True ) as listener :
1312
1322
listener .bind ((self .server11_host , self .server11_port ))
1313
- listener .listen (1 )
1323
+ listener .listen (0 )
1314
1324
server , addr = listener .accept ()
1315
1325
wait_http_listeners_up (self .EA1 .addresses [0 ], l_filter = {'name' : 'L_testServer11' })
1326
+ # prevent router reconnect when server socket closes (ISSUE-1373)
1327
+ listener .shutdown (socket .SHUT_RDWR )
1316
1328
1317
1329
raw_client = socket .socket (socket .AF_INET , socket .SOCK_STREAM )
1318
1330
raw_client .setsockopt (socket .IPPROTO_TCP , socket .TCP_NODELAY , 1 )
@@ -1361,9 +1373,11 @@ def test_4001_server_no_notify_truncated(self):
1361
1373
with self .server_ssl_context .wrap_socket (raw_listener ,
1362
1374
server_side = True ) as listener :
1363
1375
listener .bind ((self .server11_host , self .server11_port ))
1364
- listener .listen (1 )
1376
+ listener .listen (0 )
1365
1377
server , addr = listener .accept ()
1366
1378
wait_http_listeners_up (self .EA1 .addresses [0 ], l_filter = {'name' : 'L_testServer11' })
1379
+ # prevent router reconnect when server socket closes (ISSUE-1373)
1380
+ listener .shutdown (socket .SHUT_RDWR )
1367
1381
1368
1382
raw_client = socket .socket (socket .AF_INET , socket .SOCK_STREAM )
1369
1383
raw_client .setsockopt (socket .IPPROTO_TCP , socket .TCP_NODELAY , 1 )
@@ -1689,9 +1703,11 @@ def test_06_bad_request_headers(self):
1689
1703
listener .setsockopt (socket .SOL_SOCKET , socket .SO_REUSEADDR , 1 )
1690
1704
listener .bind (("" , self .http_server_port ))
1691
1705
listener .settimeout (TIMEOUT )
1692
- listener .listen (1 )
1706
+ listener .listen (0 )
1693
1707
server , addr = listener .accept ()
1694
1708
wait_http_listeners_up (self .INT_A .listener , l_filter = {'name' : 'L_testServer' })
1709
+ # prevent router reconnect when server socket closes (ISSUE-1373)
1710
+ listener .shutdown (socket .SHUT_RDWR )
1695
1711
1696
1712
bad_requests = [
1697
1713
# malformed request line
@@ -1752,7 +1768,7 @@ def test_07_bad_response_line(self):
1752
1768
listener .setsockopt (socket .SOL_SOCKET , socket .SO_REUSEADDR , 1 )
1753
1769
listener .bind (("" , self .http_server_port ))
1754
1770
listener .settimeout (TIMEOUT )
1755
- listener .listen (1 )
1771
+ listener .listen (0 )
1756
1772
1757
1773
bad_responses = [
1758
1774
# malformed response line
@@ -1771,9 +1787,13 @@ def test_07_bad_response_line(self):
1771
1787
1772
1788
# unterminated request to check client cleanup
1773
1789
request = b'GET / HTTP/1.1\r \n Content-Length: 100\r \n \r \n X'
1774
- for response in bad_responses :
1790
+ for index in range (len (bad_responses )):
1791
+ response = bad_responses [index ]
1775
1792
server , addr = listener .accept ()
1776
1793
wait_http_listeners_up (self .INT_A .listener , l_filter = {'name' : 'L_testServer' })
1794
+ # prevent router reconnect when server socket closes (ISSUE-1373)
1795
+ if index == len (bad_responses ) - 1 :
1796
+ listener .shutdown (socket .SHUT_RDWR )
1777
1797
1778
1798
client = socket .socket (socket .AF_INET , socket .SOCK_STREAM )
1779
1799
client .setsockopt (socket .IPPROTO_TCP , socket .TCP_NODELAY , 1 )
@@ -1811,7 +1831,7 @@ def test_08_bad_chunked_body(self):
1811
1831
listener .setsockopt (socket .SOL_SOCKET , socket .SO_REUSEADDR , 1 )
1812
1832
listener .bind (("" , self .http_server_port ))
1813
1833
listener .settimeout (TIMEOUT )
1814
- listener .listen (1 )
1834
+ listener .listen (0 )
1815
1835
1816
1836
server , addr = listener .accept ()
1817
1837
wait_http_listeners_up (self .INT_A .listener , l_filter = {'name' : 'L_testServer' })
@@ -1856,6 +1876,8 @@ def test_08_bad_chunked_body(self):
1856
1876
1857
1877
server , addr = listener .accept ()
1858
1878
wait_http_listeners_up (self .INT_A .listener , l_filter = {'name' : 'L_testServer' })
1879
+ # prevent router reconnect when server socket closes (ISSUE-1373)
1880
+ listener .shutdown (socket .SHUT_RDWR )
1859
1881
1860
1882
client = socket .socket (socket .AF_INET , socket .SOCK_STREAM )
1861
1883
client .setsockopt (socket .IPPROTO_TCP , socket .TCP_NODELAY , 1 )
0 commit comments