mirror of
https://github.com/curl/curl.git
synced 2026-08-15 02:53:38 +03:00
parent
5c5334f831
commit
b093d88447
35 changed files with 91 additions and 90 deletions
|
|
@ -103,13 +103,13 @@ class TestEyeballs:
|
|||
|
||||
# check timers when trying 3 unresponsive addresses
|
||||
@pytest.mark.skipif(condition=not Env.curl_has_feature('IPv6'),
|
||||
reason='curl lacks ipv6 support')
|
||||
reason='curl lacks IPv6 support')
|
||||
@pytest.mark.skipif(condition=not Env.curl_has_feature('AsynchDNS'),
|
||||
reason='curl lacks async DNS support')
|
||||
@pytest.mark.skipif(condition=not Env.curl_is_verbose(), reason="needs curl verbose strings")
|
||||
def test_06_13_timers(self, env: Env):
|
||||
curl = CurlClient(env=env)
|
||||
# ipv6 0100::/64 is supposed to go into the void (rfc6666)
|
||||
# IPv6 0100::/64 is supposed to go into the void (rfc6666)
|
||||
r = curl.http_download(urls=['https://xxx.invalid/'], extra_args=[
|
||||
'--resolve', 'xxx.invalid:443:0100::1,0100::2,0100::3',
|
||||
'--connect-timeout', '1',
|
||||
|
|
|
|||
|
|
@ -392,9 +392,9 @@ class TestProxy:
|
|||
r.check_response(count=1, http_status=200,
|
||||
protocol='HTTP/2' if proto == 'h2' else 'HTTP/1.1')
|
||||
|
||||
# download via http: ipv4 proxy (no tunnel) using IP address, IPv6 only
|
||||
# download via http: IPv4 proxy (no tunnel) using IP address, IPv6 only
|
||||
@pytest.mark.skipif(condition=not Env.curl_has_feature('IPv6'),
|
||||
reason='no ipv6 support')
|
||||
reason='no IPv6 support')
|
||||
def test_10_15_proxy_ip_addr(self, env: Env, httpd):
|
||||
proto = 'http/1.1'
|
||||
curl = CurlClient(env=env, force_resolv=False)
|
||||
|
|
@ -406,9 +406,9 @@ class TestProxy:
|
|||
r.check_exit_code(0)
|
||||
r.check_response(count=1, http_status=200, protocol='HTTP/1.1')
|
||||
|
||||
# download via http: ipv6 proxy (no tunnel) using IP address, IPv4 only
|
||||
# download via http: IPv6 proxy (no tunnel) using IP address, IPv4 only
|
||||
@pytest.mark.skipif(condition=not Env.curl_has_feature('IPv6'),
|
||||
reason='no ipv6 support')
|
||||
reason='no IPv6 support')
|
||||
def test_10_16_proxy_ip_addr(self, env: Env, httpd):
|
||||
proto = 'http/1.1'
|
||||
curl = CurlClient(env=env, force_resolv=False)
|
||||
|
|
|
|||
|
|
@ -211,7 +211,7 @@ class TestWebsockets:
|
|||
r = client.run(args=[f'-{model}', '-c', str(count), '-m', str(large), url])
|
||||
r.check_exit_code(0)
|
||||
|
||||
# use ws:// url with HTTP proxy, check that it tunnels automatically
|
||||
# use ws:// URL with HTTP proxy, check that it tunnels automatically
|
||||
def test_20_10_proxy_http(self, env: Env, httpd, ws_echo):
|
||||
curl = CurlClient(env=env)
|
||||
url = f'ws://127.0.0.1:{env.ws_port}/'
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ class TestResolve:
|
|||
indir = httpd.docs_dir
|
||||
env.make_data_file(indir=indir, fname="data-0k", fsize=0)
|
||||
|
||||
# use .invalid host name that should never resolv
|
||||
# use .invalid hostname that should never resolv
|
||||
def test_21_01_resolv_invalid_one(self, env: Env, httpd, nghttpx):
|
||||
count = 1
|
||||
run_env = os.environ.copy()
|
||||
|
|
@ -62,7 +62,7 @@ class TestResolve:
|
|||
r.check_exit_code(6)
|
||||
r.check_stats(count=count, http_status=0, exitcode=6)
|
||||
|
||||
# use .invalid host name, one after the other
|
||||
# use .invalid hostname, one after the other
|
||||
@pytest.mark.parametrize("delay_ms", [1, 50])
|
||||
def test_21_02_resolv_invalid_serial(self, env: Env, delay_ms, httpd, nghttpx):
|
||||
count = 10
|
||||
|
|
@ -74,7 +74,7 @@ class TestResolve:
|
|||
r.check_exit_code(6)
|
||||
r.check_stats(count=count, http_status=0, exitcode=6)
|
||||
|
||||
# use .invalid host name, parallel
|
||||
# use .invalid hostname, parallel
|
||||
@pytest.mark.parametrize("delay_ms", [1, 50])
|
||||
def test_21_03_resolv_invalid_parallel(self, env: Env, delay_ms, httpd, nghttpx):
|
||||
count = 20
|
||||
|
|
@ -88,7 +88,7 @@ class TestResolve:
|
|||
r.check_exit_code(6)
|
||||
r.check_stats(count=count, http_status=0, exitcode=6)
|
||||
|
||||
# resolve first url with ipv6 only and fail that, resolve second
|
||||
# resolve first URL with IPv6 only and fail that, resolve second
|
||||
# with ipv*, should succeed.
|
||||
def test_21_04_resolv_inv_v6(self, env: Env, httpd):
|
||||
count = 2
|
||||
|
|
@ -100,7 +100,7 @@ class TestResolve:
|
|||
pytest.skip(f'example client not built: {client.name}')
|
||||
dfiles = [client.download_file(i) for i in range(count)]
|
||||
self._clean_files(dfiles)
|
||||
# let the first URL resolve via ipv6 only, which we force to fail
|
||||
# let the first URL resolve via IPv6 only, which we force to fail
|
||||
r = client.run(args=[
|
||||
'-n', f'{count}', '-6', '-C', env.ca.cert_file, url
|
||||
])
|
||||
|
|
@ -108,7 +108,7 @@ class TestResolve:
|
|||
assert not os.path.exists(dfiles[0])
|
||||
assert os.path.exists(dfiles[1])
|
||||
|
||||
# use .invalid host name, parallel, single resolve thread
|
||||
# use .invalid hostname, parallel, single resolve thread
|
||||
@pytest.mark.skipif(condition=not Env.curl_resolv_threaded(), reason="no threaded resolver")
|
||||
def test_21_05_resolv_single_thread(self, env: Env, httpd, nghttpx):
|
||||
count = 10
|
||||
|
|
|
|||
|
|
@ -552,7 +552,7 @@ class TestH3Proxy:
|
|||
# _require_available(h2o_proxy=h2o_proxy)
|
||||
# curl = CurlClient(env=env, timeout=15)
|
||||
# url = f"https://localhost:{h2o_proxy.port}/data.json"
|
||||
# # ipv6 0100::/64 is supposed to go into the void (rfc6666)
|
||||
# # IPv6 0100::/64 is supposed to go into the void (rfc6666)
|
||||
# xargs = [
|
||||
# '--proxy', 'https://xxx.invalid/',
|
||||
# '--resolve', 'xxx.invalid:443:0100::1,0100::2,0100::3',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue