Skip WSS in TLS tests for PyPy

This commit is contained in:
coletdjnz 2024-05-18 17:42:11 +12:00
parent 0b255c531b
commit d98ab542f6
No known key found for this signature in database
GPG Key ID: 91984263BB39894A

View File

@ -442,6 +442,11 @@ def test_http_connect_source_address(self, handler, ctx):
assert proxy_info['client_address'][0] == source_address assert proxy_info['client_address'][0] == source_address
@pytest.mark.skipif(urllib3 is None, reason='requires urllib3 to test') @pytest.mark.skipif(urllib3 is None, reason='requires urllib3 to test')
@pytest.mark.skip_handler_if(
'Websockets', lambda request:
(platform.python_implementation() == 'PyPy'
and request.getfixturevalue('ctx').REQUEST_PROTO == 'wss'),
'PyPy sometimes fails with WSS over TLS tests, unknown reason')
def test_https_connect_proxy(self, handler, ctx): def test_https_connect_proxy(self, handler, ctx):
with ctx.http_server(HTTPSConnectProxyHandler) as server_address: with ctx.http_server(HTTPSConnectProxyHandler) as server_address:
with handler(verify=False, proxies={ctx.REQUEST_PROTO: f'https://{server_address}'}) as rh: with handler(verify=False, proxies={ctx.REQUEST_PROTO: f'https://{server_address}'}) as rh:
@ -451,6 +456,11 @@ def test_https_connect_proxy(self, handler, ctx):
assert 'Proxy-Authorization' not in proxy_info['headers'] assert 'Proxy-Authorization' not in proxy_info['headers']
@pytest.mark.skipif(urllib3 is None, reason='requires urllib3 to test') @pytest.mark.skipif(urllib3 is None, reason='requires urllib3 to test')
@pytest.mark.skip_handler_if(
'Websockets', lambda request:
(platform.python_implementation() == 'PyPy'
and request.getfixturevalue('ctx').REQUEST_PROTO == 'wss'),
'PyPy sometimes fails with WSS over TLS tests, unknown reason')
def test_https_connect_verify_failed(self, handler, ctx): def test_https_connect_verify_failed(self, handler, ctx):
with ctx.http_server(HTTPSConnectProxyHandler) as server_address: with ctx.http_server(HTTPSConnectProxyHandler) as server_address:
with handler(verify=True, proxies={ctx.REQUEST_PROTO: f'https://{server_address}'}) as rh: with handler(verify=True, proxies={ctx.REQUEST_PROTO: f'https://{server_address}'}) as rh:
@ -461,6 +471,11 @@ def test_https_connect_verify_failed(self, handler, ctx):
ctx.proxy_info_request(rh) ctx.proxy_info_request(rh)
@pytest.mark.skipif(urllib3 is None, reason='requires urllib3 to test') @pytest.mark.skipif(urllib3 is None, reason='requires urllib3 to test')
@pytest.mark.skip_handler_if(
'Websockets', lambda request:
(platform.python_implementation() == 'PyPy'
and request.getfixturevalue('ctx').REQUEST_PROTO == 'wss'),
'PyPy sometimes fails with WSS over TLS tests, unknown reason')
def test_https_connect_proxy_auth(self, handler, ctx): def test_https_connect_proxy_auth(self, handler, ctx):
with ctx.http_server(HTTPSConnectProxyHandler, username='test', password='test') as server_address: with ctx.http_server(HTTPSConnectProxyHandler, username='test', password='test') as server_address:
with handler(verify=False, proxies={ctx.REQUEST_PROTO: f'https://test:test@{server_address}'}) as rh: with handler(verify=False, proxies={ctx.REQUEST_PROTO: f'https://test:test@{server_address}'}) as rh: