This is an automated email from the ASF dual-hosted git repository.
lserris pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new bd465cd0b5 Autest: fix or skip failed --curl-uds tests (#12434)
bd465cd0b5 is described below
commit bd465cd0b5243b938e31d5c4774c6d9435770682
Author: Serris Lew <[email protected]>
AuthorDate: Mon Aug 18 15:37:22 2025 -0700
Autest: fix or skip failed --curl-uds tests (#12434)
* Autest: fix or skip failed --curl-uds tests
* syntax error in stats_over_http
* include cripts in preset
* support uds in cache_fill
* remove cache_fill support, add to separate PR
* add PC header to curlcommand
* ignore multiple commands
---------
Co-authored-by: Serris Lew <[email protected]>
---
CMakePresets.json | 6 +-
tests/CMakeLists.txt | 2 +
tests/autest.sh.in | 6 +
tests/gold_tests/autest-site/curl.test.ext | 4 +
tests/gold_tests/connect/connect.test.py | 17 +-
.../connect/gold/connect_0_stderr_uds.gold | 19 --
tests/gold_tests/cripts/cripts.test.py | 3 +-
tests/gold_tests/ip_allow/ip_allow_pp_uds.test.py | 259 ---------------------
tests/gold_tests/logging/all_headers.test.py | 24 +-
tests/gold_tests/logging/custom-log-pp-uds.test.py | 99 --------
.../logging/gold/test_all_headers_uds.gold | 1 -
.../next_hop/zzz_strategies_peer/trace.gold | 64 ++---
.../next_hop/zzz_strategies_peer2/trace.gold | 64 ++---
.../per_server_connection_max.test.py | 2 +
.../pluginTest/cache_fill/cache_fill.test.py | 2 +
.../pluginTest/header_rewrite/gold/cond-elif.gold | 2 +-
.../pluginTest/header_rewrite/gold/ext-sets.gold | 2 +-
.../pluginTest/healthchecks/healthchecks.test.py | 52 +++--
.../ja4_fingerprint/ja4_fingerprint.test.py | 1 +
.../gold/origin_server_auth_parsing_ts_uds.gold | 5 +
.../origin_server_auth/origin_server_auth.test.py | 5 +-
.../stats_over_http/stats_over_http.test.py | 5 +-
.../gold_tests/pluginTest/url_sig/url_sig.test.py | 3 +
tests/gold_tests/remap/gold/lookupTest.gold | 2 +-
tests/gold_tests/remap/gold/remap-200.gold | 2 +-
tests/gold_tests/remap/gold/remap-404.gold | 2 +-
tests/gold_tests/remap/gold/remap-DNS-200.gold | 2 +-
.../gold_tests/remap/gold/remap-DNS-ipv6-200.gold | 2 +-
tests/gold_tests/remap/gold/remap-redirect.gold | 2 +-
tests/gold_tests/remap/gold/remap-referer-hit.gold | 2 +-
.../gold_tests/remap/gold/remap-referer-miss.gold | 2 +-
tests/gold_tests/remap/gold/remap2-200.gold | 2 +-
tests/gold_tests/remap/remap_http.test.py | 13 +-
tests/gold_tests/remap/remap_ws.test.py | 6 +-
tests/gold_tests/timeout/accept_timeout.test.py | 1 +
35 files changed, 170 insertions(+), 515 deletions(-)
diff --git a/CMakePresets.json b/CMakePresets.json
index 362d9fb237..82f8668c87 100644
--- a/CMakePresets.json
+++ b/CMakePresets.json
@@ -357,7 +357,8 @@
"inherits": ["branch"],
"cacheVariables": {
"ENABLE_AUTEST": "ON",
- "ENABLE_EXAMPLE": "ON"
+ "ENABLE_EXAMPLE": "ON",
+ "ENABLE_CRIPTS": "ON"
}
},
{
@@ -367,7 +368,8 @@
"cacheVariables": {
"ENABLE_AUTEST": "ON",
"ENABLE_AUTEST_UDS": "ON",
- "ENABLE_EXAMPLE": "ON"
+ "ENABLE_EXAMPLE": "ON",
+ "ENABLE_CRIPTS": "ON"
}
},
{
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 5e0b06805d..a8198ef056 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -87,12 +87,14 @@ add_custom_target(
COMMAND ${RUNPIPENV} install
COMMAND ${CMAKE_COMMAND} -E rename ${CMAKE_GOLD_DIR}/h2
${CMAKE_SKIP_GOLD_DIR}/h2
COMMAND ${CMAKE_COMMAND} -E rename ${CMAKE_GOLD_DIR}/tls
${CMAKE_SKIP_GOLD_DIR}/tls
+ COMMAND ${CMAKE_COMMAND} -E rename ${CMAKE_GOLD_DIR}/tls_hooks
${CMAKE_SKIP_GOLD_DIR}/tls_hooks
COMMAND
${CMAKE_COMMAND} -E env
PYTHONPATH=${CMAKE_GOLD_DIR}/remap:$ENV{PYTHONPATH} ${RUNPIPENV} run env autest
--directory
${CMAKE_GOLD_DIR} --ats-bin=${CMAKE_INSTALL_PREFIX}/bin
--proxy-verifier-bin ${PROXY_VERIFIER_PATH} --build-root
${CMAKE_BINARY_DIR} --sandbox ${AUTEST_SANDBOX} ${CURL_UDS_FLAG}
${AUTEST_OPTIONS}
COMMAND ${CMAKE_COMMAND} -E rename {CMAKE_SKIP_GOLD_DIR}/h2
${CMAKE_GOLD_DIR}/h2
COMMAND ${CMAKE_COMMAND} -E rename ${CMAKE_SKIP_GOLD_DIR}/tls
${CMAKE_GOLD_DIR}/tls
+ COMMAND ${CMAKE_COMMAND} -E rename ${CMAKE_SKIP_GOLD_DIR}/tls_hooks
${CMAKE_GOLD_DIR}/tls_hooks
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
USES_TERMINAL
)
diff --git a/tests/autest.sh.in b/tests/autest.sh.in
index 7042c3bdea..97136bdcc1 100755
--- a/tests/autest.sh.in
+++ b/tests/autest.sh.in
@@ -16,6 +16,9 @@ if [ -n "${CURL_UDS_FLAG}" ]; then
if [ -d "${CMAKE_GOLD_DIR}/tls" ]; then
mv "${CMAKE_GOLD_DIR}/tls" "${CMAKE_SKIP_GOLD_DIR}/tls"
fi
+ if [ -d "${CMAKE_GOLD_DIR}/tls_hooks" ]; then
+ mv "${CMAKE_GOLD_DIR}/tls_hooks" "${CMAKE_SKIP_GOLD_DIR}/tls_hooks"
+ fi
fi
${RUNPIPENV} run env autest \
@@ -35,6 +38,9 @@ if [ -n "${CURL_UDS_FLAG}" ]; then
if [ -d "${CMAKE_SKIP_GOLD_DIR}/tls" ]; then
mv "${CMAKE_SKIP_GOLD_DIR}/tls" "${CMAKE_GOLD_DIR}/tls"
fi
+ if [ -d "${CMAKE_SKIP_GOLD_DIR}/tls_hooks" ]; then
+ mv "${CMAKE_SKIP_GOLD_DIR}/tls_hooks" "${CMAKE_GOLD_DIR}/tls_hooks"
+ fi
if [ -d "${CMAKE_SKIP_GOLD_DIR}" ]; then
rm -rf "${CMAKE_SKIP_GOLD_DIR}"
fi
diff --git a/tests/gold_tests/autest-site/curl.test.ext
b/tests/gold_tests/autest-site/curl.test.ext
index 2e1b4d5777..5d19bf1e83 100644
--- a/tests/gold_tests/autest-site/curl.test.ext
+++ b/tests/gold_tests/autest-site/curl.test.ext
@@ -52,6 +52,10 @@ def curl_command(self, cmd, ts=None, p=None):
if p == None:
p = self.Processes.Default
if self.Variables.get("CurlUds", False):
+ # curl via UDS doesn't add this header when proxy flag enabled, need
to explicitly set for test
+ # unless pipe is found, indicating multiple commands
+ if "--proxy" in cmd and "|" not in cmd:
+ cmd += ' -H "Proxy-Connection: keep-alive"'
p.Command = f'curl --unix-socket {ts.Variables.uds_path} ' + cmd
else:
p.Command = 'curl ' + cmd
diff --git a/tests/gold_tests/connect/connect.test.py
b/tests/gold_tests/connect/connect.test.py
index a49a9a33e7..cb59425009 100644
--- a/tests/gold_tests/connect/connect.test.py
+++ b/tests/gold_tests/connect/connect.test.py
@@ -22,6 +22,7 @@ import re
Test.Summary = 'Exercise HTTP CONNECT Method'
Test.ContinueOnFail = True
+Test.SkipIf(Condition.CurlUsingUnixDomainSocket())
class ConnectTest:
@@ -48,7 +49,7 @@ class ConnectTest:
{
'proxy.config.diags.debug.enabled': 1,
'proxy.config.diags.debug.tags': 'http',
- 'proxy.config.http.server_ports': f"{self.ts.Variables.port}
{self.ts.Variables.uds_path}",
+ 'proxy.config.http.server_ports': f"{self.ts.Variables.port}",
'proxy.config.http.connect_ports':
f"{self.httpbin.Variables.Port}",
})
@@ -84,14 +85,10 @@ logging:
def __testCase0(self):
tr = Test.AddTestRun()
self.__checkProcessBefore(tr)
- if Condition.CurlUsingUnixDomainSocket():
- tr.MakeCurlCommand(f"-v --fail -s -X CONNECT -p -x
127.0.0.1:{self.ts.Variables.port} 'http://foo.com/get'", ts=self.ts)
- tr.Processes.Default.Streams.stderr =
"gold/connect_0_stderr_uds.gold"
- else:
- tr.MakeCurlCommand(f"-v --fail -s -p -x
127.0.0.1:{self.ts.Variables.port} 'http://foo.com/get'", ts=self.ts)
- tr.Processes.Default.Streams.stderr = "gold/connect_0_stderr.gold"
- tr.Processes.Default.Streams.stderr = Testers.ContainsExpression(
- f'Connected to 127.0.0.1.*{self.ts.Variables.port}', 'Curl
should connect through the ATS proxy port.')
+ tr.MakeCurlCommand(f"-v --fail -s -p -x
127.0.0.1:{self.ts.Variables.port} 'http://foo.com/get'", ts=self.ts)
+ tr.Processes.Default.Streams.stderr = "gold/connect_0_stderr.gold"
+ tr.Processes.Default.Streams.stderr = Testers.ContainsExpression(
+ f'Connected to 127.0.0.1.*{self.ts.Variables.port}', 'Curl should
connect through the ATS proxy port.')
tr.Processes.Default.ReturnCode = 0
tr.Processes.Default.TimeOut = 3
self.__checkProcessAfter(tr)
@@ -220,7 +217,7 @@ class ConnectViaPVTest2:
'proxy.config.diags.debug.tags': 'http|hpack',
'proxy.config.ssl.server.cert.path':
f'{self.ts.Variables.SSLDir}',
'proxy.config.ssl.server.private_key.path':
f'{self.ts.Variables.SSLDir}',
- 'proxy.config.http.server_ports':
f"{self.ts.Variables.ssl_port}:ssl {self.ts.Variables.uds_path}",
+ 'proxy.config.http.server_ports':
f"{self.ts.Variables.ssl_port}:ssl",
'proxy.config.http.connect_ports':
f"{self.server.Variables.http_port}",
})
diff --git a/tests/gold_tests/connect/gold/connect_0_stderr_uds.gold
b/tests/gold_tests/connect/gold/connect_0_stderr_uds.gold
deleted file mode 100644
index 60d4b8d898..0000000000
--- a/tests/gold_tests/connect/gold/connect_0_stderr_uds.gold
+++ /dev/null
@@ -1,19 +0,0 @@
-``
-* Connected to `` port ``
-``
-> CONNECT /get HTTP/1.1
-> Host: foo.com
-``
->``
-< HTTP/1.1 200 OK
-``
-<``
-`` CONNECT ``
-``
-> GET /get HTTP/1.1
-> Host: foo.com
->``
-< HTTP/1.1 200 OK
-``
-<``
-``
diff --git a/tests/gold_tests/cripts/cripts.test.py
b/tests/gold_tests/cripts/cripts.test.py
index bfe50ce4f2..b32a65be75 100644
--- a/tests/gold_tests/cripts/cripts.test.py
+++ b/tests/gold_tests/cripts/cripts.test.py
@@ -104,7 +104,8 @@ class CriptsBasicTest:
def run(self):
self.updateCompilerForTest()
self.runHeaderTest()
- self.runCertsTest()
+ if not Condition.CurlUsingUnixDomainSocket():
+ self.runCertsTest()
CriptsBasicTest().run()
diff --git a/tests/gold_tests/ip_allow/ip_allow_pp_uds.test.py
b/tests/gold_tests/ip_allow/ip_allow_pp_uds.test.py
deleted file mode 100644
index 9bea8b10c9..0000000000
--- a/tests/gold_tests/ip_allow/ip_allow_pp_uds.test.py
+++ /dev/null
@@ -1,259 +0,0 @@
-'''
-Verify ip_allow filtering behavior.
-'''
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import os
-
-Test.Summary = '''
-Verify ip_allow filtering behavior.
-'''
-Test.SkipUnless(Condition.CurlUsingUnixDomainSocket())
-Test.ContinueOnFail = True
-
-# Define default ATS
-ts = Test.MakeATSProcess("ts", enable_tls=True, enable_cache=False)
-server = Test.MakeOriginServer("server", ssl=True)
-
-testName = ""
-request = {
- "headers": "GET /get HTTP/1.1\r\n"
- "Host: www.example.com:80\r\n\r\n",
- "timestamp": "1469733493.993",
- "body": ""
-}
-response = {
- "headers": "HTTP/1.1 200 OK\r\n"
- "Content-Length: 3\r\n"
- "Connection: close\r\n\r\n",
- "timestamp": "1469733493.993",
- "body": "xxx"
-}
-server.addResponse("sessionlog.json", request, response)
-
-# The following shouldn't come to the server, but in the event that there is a
-# bug in ip_allow and they are sent through, have them return a 200 OK. This
-# will fail the match with the gold file which expects a 403.
-request = {
- "headers": "CONNECT www.example.com:80/connect HTTP/1.1\r\n"
- "Host: www.example.com:80\r\n\r\n",
- "timestamp": "1469733493.993",
- "body": ""
-}
-response = {
- "headers": "HTTP/1.1 200 OK\r\n"
- "Content-Length: 3\r\n"
- "Connection: close\r\n\r\n",
- "timestamp": "1469733493.993",
- "body": "xxx"
-}
-server.addResponse("sessionlog.json", request, response)
-request = {
- "headers": "PUSH www.example.com:80/h2_push HTTP/2\r\n"
- "Host: www.example.com:80\r\n\r\n",
- "timestamp": "1469733493.993",
- "body": ""
-}
-response = {
- "headers": "HTTP/2 200 OK\r\n"
- "Content-Length: 3\r\n"
- "Connection: close\r\n\r\n",
- "timestamp": "1469733493.993",
- "body": "xxx"
-}
-server.addResponse("sessionlog.json", request, response)
-
-# Configure TLS for Traffic Server for HTTP/2.
-ts.addDefaultSSLFiles()
-
-ts.Disk.ssl_multicert_config.AddLine('dest_ip=* ssl_cert_name=server.pem
ssl_key_name=server.key')
-
-ts.Disk.records_config.update(
- {
- 'proxy.config.diags.debug.enabled': 1,
- 'proxy.config.diags.debug.tags': 'ip_allow',
- 'proxy.config.http.push_method_enabled': 1,
- 'proxy.config.http.connect_ports':
'{0}'.format(server.Variables.SSL_Port),
- 'proxy.config.ssl.server.cert.path': '{0}'.format(ts.Variables.SSLDir),
- 'proxy.config.ssl.server.private_key.path':
'{0}'.format(ts.Variables.SSLDir),
- 'proxy.config.ssl.client.verify.server.policy': 'PERMISSIVE',
- 'proxy.config.http2.active_timeout_in': 3,
- 'proxy.config.http2.max_concurrent_streams_in': 65535,
- })
-
-format_string = (
- '%<cqtd>-%<cqtt> %<stms> %<ttms> %<chi> %<crc>/%<pssc> %<psql> '
- '%<cqhm> %<pquc> %<phr> %<psct> %<{Y-RID}pqh> '
- '%<{Y-YPCS}pqh> %<{Host}cqh> %<{CHAD}pqh> '
- 'sftover=%<{x-safet-overlimit-rules}cqh>
sftmat=%<{x-safet-matched-rules}cqh> '
- 'sftcls=%<{x-safet-classification}cqh> '
- 'sftbadclf=%<{x-safet-bad-classifiers}cqh> yra=%<{Y-RA}cqh>
scheme=%<pqus>')
-
-ts.Disk.logging_yaml.AddLines(
- ''' logging:
- formats:
- - name: custom
- format: '{}'
- logs:
- - filename: squid.log
- format: custom
-'''.format(format_string).split("\n"))
-
-ts.Disk.remap_config.AddLine('map /
https://127.0.0.1:{0}'.format(server.Variables.SSL_Port))
-
-# Note that CONNECT is not in the allowed list.
-ts.Disk.ip_allow_yaml.AddLines(
- '''ip_allow:
- - apply: in
- ip_addrs: 0/0
- action: allow
- methods: [GET, HEAD, POST ]
- - apply: in
- ip_addrs: ::/0
- action: allow
- methods: [GET, HEAD, POST ]
-
-'''.split("\n"))
-
-ts.Disk.traffic_out.Content += Testers.ContainsExpression(
- "Line 1 denial for 'CONNECT' from 127.0.0.1", "The CONNECT request should
be denied by ip_allow")
-ts.Disk.traffic_out.Content += Testers.ContainsExpression(
- "Line 1 denial for 'PUSH' from 127.0.0.1", "The PUSH request should be
denied by ip_allow")
-
-
-class Test_ip_allow:
- """Configure a test to verify ip_allow behavior."""
-
- client_counter: int = 0
- ts_counter: int = 0
- server_counter: int = 0
-
- def __init__(
- self,
- name: str,
- replay_file: str,
- ip_allow_config: str,
- gold_file="",
- replay_keys="",
- is_h3=False,
- expect_request_rejected=False):
- """Initialize the test.
-
- :param name: The name of the test.
- :param ip_allow_config: The ip_allow configuration to be used.
- :param replay_file: The replay file to be used.
- :param gold_file: (Optional) Gold file to be checked.
- :param replay_keys: (Optional) Keys to be used by pv.
- :param expect_request_rejected: (Optional) Whether or not the client
request is expected to be rejected.
- """
- self.name = name
- self.replay_file = replay_file
- self.ip_allow_config = ip_allow_config
- self.gold_file = gold_file
- self.replay_keys = replay_keys
- self.is_h3 = is_h3
- self.expect_request_rejected = expect_request_rejected
-
- def _configure_server(self, tr: 'TestRun'):
- """Configure the server.
-
- :param tr: The TestRun object to associate the server process with.
- """
- server =
tr.AddVerifierServerProcess(f"server_{Test_ip_allow.server_counter}",
self.replay_file)
- Test_ip_allow.server_counter += 1
- self._server = server
-
- def _configure_traffic_server(self, tr: 'TestRun'):
- """Configure Traffic Server.
-
- :param tr: The TestRun object to associate the ts process with.
- """
- ts = tr.MakeATSProcess(
- f"ts-{Test_ip_allow.ts_counter}", enable_quic=self.is_h3,
enable_tls=True, enable_proxy_protocol=True)
-
- Test_ip_allow.ts_counter += 1
- self._ts = ts
- # Configure TLS for Traffic Server.
- self._ts.addDefaultSSLFiles()
- self._ts.Disk.ssl_multicert_config.AddLine('dest_ip=*
ssl_cert_name=server.pem ssl_key_name=server.key')
- self._ts.Disk.records_config.update(
- {
- 'proxy.config.diags.debug.enabled': 1,
- 'proxy.config.diags.debug.tags':
'v_quic|quic|http|proxyprotocol|ip_allow',
- 'proxy.config.http.push_method_enabled': 1,
- 'proxy.config.ssl.server.cert.path':
'{0}'.format(ts.Variables.SSLDir),
- 'proxy.config.quic.no_activity_timeout_in': 0,
- 'proxy.config.ssl.server.private_key.path':
'{0}'.format(ts.Variables.SSLDir),
- 'proxy.config.ssl.client.verify.server.policy': 'PERMISSIVE',
- 'proxy.config.http.connect_ports':
f"{self._server.Variables.http_port}",
- })
-
- self._ts.Disk.remap_config.AddLine(f'map /
http://127.0.0.1:{self._server.Variables.http_port}')
-
- # Set ip_allow policy based on the input configuration.
- self._ts.Disk.ip_allow_yaml.AddLines(self.ip_allow_config.split("\n"))
-
- def run(self):
- """Run the test."""
- tr = Test.AddTestRun(self.name)
- self._configure_server(tr)
- self._configure_traffic_server(tr)
-
- tr.Processes.Default.StartBefore(self._server)
- tr.Processes.Default.StartBefore(self._ts)
-
- tr.AddVerifierClientProcess(
- f'client-{Test_ip_allow.client_counter}',
- self.replay_file,
- http_ports=[self._ts.Variables.proxy_protocol_port],
- https_ports=[self._ts.Variables.ssl_port],
- http3_ports=[self._ts.Variables.ssl_port],
- keys=self.replay_keys)
- Test_ip_allow.client_counter += 1
-
- if self.expect_request_rejected:
- # The client request should time out because ATS rejects it and
does
- # not send a response.
- tr.Processes.Default.ReturnCode = 1
- self._ts.Disk.diags_log.Content += Testers.ContainsExpression(
- "client.*prohibited by ip-allow policy", "Request should be
rejected by ip_allow")
- else:
- # Verify the client request is successful.
- tr.Processes.Default.ReturnCode = 0
- self._ts.Disk.diags_log.Content += Testers.ExcludesExpression(
- "client.*allowed by ip-allow policy", "Request should be
allowed by ip_allow")
-
- if self.gold_file:
- tr.Processes.Default.Streams.all = self.gold_file
-
-
-# TEST 1: Verify IP address from PROXY protocol is used.
-IP_ALLOW_CONFIG_PROXY_PROTOCOL = '''ip_allow:
- - apply: in
- ip_addrs: 1.2.3.4
- action: allow
- - apply: in
- ip_addrs: 0/0
- action: deny
-'''
-test_ip_allow_proxy_protocol = Test_ip_allow(
- "ip_allow_proxy_protocol",
- replay_file='replays/http_proxy_protocol.replay.yaml',
- ip_allow_config=IP_ALLOW_CONFIG_PROXY_PROTOCOL,
- is_h3=False,
- expect_request_rejected=False)
-test_ip_allow_proxy_protocol.run()
diff --git a/tests/gold_tests/logging/all_headers.test.py
b/tests/gold_tests/logging/all_headers.test.py
index d6f6fff74f..dbb65ba2fd 100644
--- a/tests/gold_tests/logging/all_headers.test.py
+++ b/tests/gold_tests/logging/all_headers.test.py
@@ -25,7 +25,7 @@ Test new "all headers" log fields
# Define ATS.
#
-ts = Test.MakeATSProcess("ts", enable_proxy_protocol=True)
+ts = Test.MakeATSProcess("ts")
# Define MicroServer.
#
@@ -39,18 +39,10 @@ response_header = {
}
server.addResponse("sessionlog.json", request_header, response_header)
-if Condition.CurlUsingUnixDomainSocket():
- ts.Disk.records_config.update(
- {
- 'proxy.config.diags.debug.enabled': 0,
- 'proxy.config.diags.debug.tags': 'http|dns',
- 'proxy.config.http.insert_forwarded': 'for',
- })
-else:
- ts.Disk.records_config.update({
- 'proxy.config.diags.debug.enabled': 0,
- 'proxy.config.diags.debug.tags': 'http|dns',
- })
+ts.Disk.records_config.update({
+ 'proxy.config.diags.debug.enabled': 0,
+ 'proxy.config.diags.debug.tags': 'http|dns',
+})
ts.Disk.remap_config.AddLine('map http://127.0.0.1:{0}
http://127.0.0.1:{1}'.format(ts.Variables.port, server.Variables.Port))
@@ -92,8 +84,7 @@ tr.Processes.Default.StartBefore(server)
tr.Processes.Default.StartBefore(Test.Processes.ts)
if Condition.CurlUsingUnixDomainSocket():
tr.MakeCurlCommand(
- '"http://127.0.0.1:{0}" --user-agent "007" --haproxy-protocol 1
--haproxy-clientip 127.0.0.1 --verbose '.format(
- ts.Variables.port) + reallyLong(),
+ '"http://127.0.0.1:{0}" --user-agent "007" -H "Host: 127.0.0.1:{0}"
--verbose '.format(ts.Variables.port) + reallyLong(),
ts=ts)
else:
tr.MakeCurlCommand('"http://127.0.0.1:{0}" --user-agent "007" --verbose
'.format(ts.Variables.port) + reallyLong(), ts=ts)
@@ -104,8 +95,7 @@ tr.Processes.Default.ReturnCode = 0
tr = Test.AddTestRun()
if Condition.CurlUsingUnixDomainSocket():
tr.MakeCurlCommand(
- '"http://127.0.0.1:{0}" --user-agent "007" --haproxy-protocol 1
--haproxy-clientip 127.0.0.1 --verbose '.format(
- ts.Variables.port) + reallyLong(),
+ '"http://127.0.0.1:{0}" --user-agent "007" -H "Host: 127.0.0.1:{0}"
--verbose '.format(ts.Variables.port) + reallyLong(),
ts=ts)
else:
tr.MakeCurlCommand('"http://127.0.0.1:{0}" --user-agent "007" --verbose
'.format(ts.Variables.port) + reallyLong(), ts=ts)
diff --git a/tests/gold_tests/logging/custom-log-pp-uds.test.py
b/tests/gold_tests/logging/custom-log-pp-uds.test.py
deleted file mode 100644
index 374d83b529..0000000000
--- a/tests/gold_tests/logging/custom-log-pp-uds.test.py
+++ /dev/null
@@ -1,99 +0,0 @@
-'''
-'''
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import os
-
-Test.Summary = '''
-Test custom log file format
-'''
-
-# this test depends on Linux specific behavior regarding loopback addresses
-Test.SkipUnless(Condition.IsPlatform("linux"),
Condition.CurlUsingUnixDomainSocket())
-
-# Define default ATS
-ts = Test.MakeATSProcess("ts", enable_proxy_protocol=True)
-
-# setup some config file for this server
-ts.Disk.remap_config.AddLine('map / http://www.linkedin.com/ @action=deny')
-
-ts.Disk.logging_yaml.AddLines(
- '''
-logging:
- formats:
- - name: custom
- format: "%<pps>"
- logs:
- - filename: test_log_field
- format: custom
-'''.split("\n"))
-
-# #########################################################################
-# at the end of the different test run a custom log file should exist
-# Because of this we expect the testruns to pass the real test is if the
-# customlog file exists and passes the format check
-Test.Disk.File(os.path.join(ts.Variables.LOGDIR, 'test_log_field.log'),
exists=True, content='gold/custom_uds.gold')
-
-# first test is a miss for default
-tr = Test.AddTestRun()
-tr.MakeCurlCommand(
- '"http://127.0.0.1:{0}" --verbose --haproxy-protocol 1 --haproxy-clientip
127.0.0.1'.format(ts.Variables.port), ts=ts)
-tr.Processes.Default.ReturnCode = 0
-tr.Processes.Default.StartBefore(Test.Processes.ts)
-
-tr = Test.AddTestRun()
-tr.MakeCurlCommand(
- '"http://127.1.1.1:{0}" --verbose --haproxy-protocol 1 --haproxy-clientip
127.1.1.1'.format(ts.Variables.port), ts=ts)
-tr.Processes.Default.ReturnCode = 0
-
-tr = Test.AddTestRun()
-tr.MakeCurlCommand(
- '"http://127.2.2.2:{0}" --verbose --haproxy-protocol 1 --haproxy-clientip
127.2.2.2'.format(ts.Variables.port), ts=ts)
-tr.Processes.Default.ReturnCode = 0
-
-tr = Test.AddTestRun()
-tr.MakeCurlCommand(
- '"http://127.3.3.3:{0}" --verbose --haproxy-protocol 1 --haproxy-clientip
127.3.3.3'.format(ts.Variables.port), ts=ts)
-tr.Processes.Default.ReturnCode = 0
-
-tr = Test.AddTestRun()
-tr.MakeCurlCommand(
- '"http://127.3.0.1:{0}" --verbose --haproxy-protocol 1 --haproxy-clientip
127.3.0.1'.format(ts.Variables.port), ts=ts)
-tr.Processes.Default.ReturnCode = 0
-
-tr = Test.AddTestRun()
-tr.MakeCurlCommand(
- '"http://127.43.2.1:{0}" --verbose --haproxy-protocol 1 --haproxy-clientip
127.43.2.1'.format(ts.Variables.port), ts=ts)
-tr.Processes.Default.ReturnCode = 0
-
-tr = Test.AddTestRun()
-tr.MakeCurlCommand(
- '"http://127.213.213.132:{0}" --verbose --haproxy-protocol 1
--haproxy-clientip 127.213.213.132'.format(ts.Variables.port),
- ts=ts)
-tr.Processes.Default.ReturnCode = 0
-
-tr = Test.AddTestRun()
-tr.MakeCurlCommand(
- '"http://127.123.32.243:{0}" --verbose --haproxy-protocol 1
--haproxy-clientip 127.123.32.243'.format(ts.Variables.port), ts=ts)
-tr.Processes.Default.ReturnCode = 0
-
-# Wait for log file to appear, then wait one extra second to make sure TS is
done writing it.
-test_run = Test.AddTestRun()
-test_run.Processes.Default.Command = (
- os.path.join(Test.Variables.AtsTestToolsDir, 'condwait') + ' 60 1 -f ' +
- os.path.join(ts.Variables.LOGDIR, 'test_log_field.log'))
-test_run.Processes.Default.ReturnCode = 0
diff --git a/tests/gold_tests/logging/gold/test_all_headers_uds.gold
b/tests/gold_tests/logging/gold/test_all_headers_uds.gold
index 9f25fc147c..ed683343be 100644
--- a/tests/gold_tests/logging/gold/test_all_headers_uds.gold
+++ b/tests/gold_tests/logging/gold/test_all_headers_uds.gold
@@ -20,7 +20,6 @@
({__DATE__}}
{{Accept}:{*/*}}
-{{Forwarded}:{for=127.0.0.1}}
{{Host}:{127.0.0.1__TS_PORT__}}
{{User-Agent}:{007}}
({__VIA__}}
diff --git a/tests/gold_tests/next_hop/zzz_strategies_peer/trace.gold
b/tests/gold_tests/next_hop/zzz_strategies_peer/trace.gold
index 9c10fa3dd5..baf7c3add2 100644
--- a/tests/gold_tests/next_hop/zzz_strategies_peer/trace.gold
+++ b/tests/gold_tests/next_hop/zzz_strategies_peer/trace.gold
@@ -1,5 +1,5 @@
trace_peer0.log:+++++++++ Incoming Request +++++++++
-trace_peer0.log:GET http://dummy.com/obj0 HTTP/1.1
+trace_peer0.log:GET http://``/obj0 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer3
trace_peer0.log:+++++++++ Proxy's Request +++++++++
trace_peer0.log:GET http://not_used/obj0 HTTP/1.1
@@ -27,7 +27,7 @@ trace_peer0.log:HTTP/1.1 200 OK
trace_peer0.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer0.log:HTTP/1.1 200 OK
trace_peer0.log:+++++++++ Incoming Request +++++++++
-trace_peer0.log:GET http://dummy.com/obj8 HTTP/1.1
+trace_peer0.log:GET http://``/obj8 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer6
trace_peer0.log:+++++++++ Proxy's Request +++++++++
trace_peer0.log:GET http://not_used/obj8 HTTP/1.1
@@ -40,7 +40,7 @@ trace_peer0.log:HTTP/1.1 200 OK
trace_peer0.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer0.log:HTTP/1.1 200 OK
trace_peer0.log:+++++++++ Incoming Request +++++++++
-trace_peer0.log:GET http://dummy.com/obj0 HTTP/1.1
+trace_peer0.log:GET http://``/obj0 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer3
trace_peer0.log:+++++++++ Proxy's Request +++++++++
trace_peer0.log:GET http://not_used/obj0 HTTP/1.1
@@ -62,7 +62,7 @@ trace_peer0.log:HTTP/1.1 200 OK
trace_peer0.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer0.log:HTTP/1.1 200 OK
trace_peer0.log:+++++++++ Incoming Request +++++++++
-trace_peer0.log:GET http://dummy.com/obj8 HTTP/1.1
+trace_peer0.log:GET http://``/obj8 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer6
trace_peer0.log:+++++++++ Proxy's Request +++++++++
trace_peer0.log:GET http://not_used/obj8 HTTP/1.1
@@ -75,7 +75,7 @@ trace_peer0.log:HTTP/1.1 200 OK
trace_peer0.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer0.log:HTTP/1.1 200 OK
trace_peer1.log:+++++++++ Incoming Request +++++++++
-trace_peer1.log:GET http://dummy.com/obj1 HTTP/1.1
+trace_peer1.log:GET http://``/obj1 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer5
trace_peer1.log:+++++++++ Proxy's Request +++++++++
trace_peer1.log:GET http://not_used/obj1 HTTP/1.1
@@ -88,7 +88,7 @@ trace_peer1.log:HTTP/1.1 200 OK
trace_peer1.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer1.log:HTTP/1.1 200 OK
trace_peer1.log:+++++++++ Incoming Request +++++++++
-trace_peer1.log:GET http://dummy.com/obj9 HTTP/1.1
+trace_peer1.log:GET http://``/obj9 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer7
trace_peer1.log:+++++++++ Proxy's Request +++++++++
trace_peer1.log:GET http://not_used/obj9 HTTP/1.1
@@ -116,7 +116,7 @@ trace_peer1.log:HTTP/1.1 200 OK
trace_peer1.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer1.log:HTTP/1.1 200 OK
trace_peer1.log:+++++++++ Incoming Request +++++++++
-trace_peer1.log:GET http://dummy.com/obj3 HTTP/1.1
+trace_peer1.log:GET http://``/obj3 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer2
trace_peer1.log:+++++++++ Proxy's Request +++++++++
trace_peer1.log:GET http://not_used/obj3 HTTP/1.1
@@ -138,7 +138,7 @@ trace_peer1.log:HTTP/1.1 200 OK
trace_peer1.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer1.log:HTTP/1.1 200 OK
trace_peer1.log:+++++++++ Incoming Request +++++++++
-trace_peer1.log:GET http://dummy.com/obj11 HTTP/1.1
+trace_peer1.log:GET http://``/obj11 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer7
trace_peer1.log:+++++++++ Proxy's Request +++++++++
trace_peer1.log:GET http://not_used/obj11 HTTP/1.1
@@ -151,7 +151,7 @@ trace_peer1.log:HTTP/1.1 200 OK
trace_peer1.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer1.log:HTTP/1.1 200 OK
trace_peer2.log:+++++++++ Incoming Request +++++++++
-trace_peer2.log:GET http://dummy.com/obj2 HTTP/1.1
+trace_peer2.log:GET http://``/obj2 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer7
trace_peer2.log:+++++++++ Proxy's Request +++++++++
trace_peer2.log:GET http://not_used/obj2 HTTP/1.1
@@ -224,7 +224,7 @@ trace_peer2.log:HTTP/1.1 200 OK
trace_peer2.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer2.log:HTTP/1.1 200 OK
trace_peer2.log:+++++++++ Incoming Request +++++++++
-trace_peer2.log:GET http://dummy.com/obj10 HTTP/1.1
+trace_peer2.log:GET http://``/obj10 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer1
trace_peer2.log:+++++++++ Proxy's Request +++++++++
trace_peer2.log:GET http://not_used/obj10 HTTP/1.1
@@ -279,7 +279,7 @@ trace_peer2.log:HTTP/1.1 200 OK
trace_peer2.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer2.log:HTTP/1.1 200 OK
trace_peer2.log:+++++++++ Incoming Request +++++++++
-trace_peer2.log:GET http://dummy.com/obj6 HTTP/1.1
+trace_peer2.log:GET http://``/obj6 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_upstream5
trace_peer2.log:+++++++++ Proxy's Request +++++++++
trace_peer2.log:GET http://not_used/obj6 HTTP/1.1
@@ -303,7 +303,7 @@ trace_peer2.log:HTTP/1.1 200 OK
trace_peer2.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer2.log:HTTP/1.1 200 OK
trace_peer2.log:+++++++++ Incoming Request +++++++++
-trace_peer2.log:GET http://dummy.com/obj14 HTTP/1.1
+trace_peer2.log:GET http://``/obj14 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer5
trace_peer2.log:+++++++++ Proxy's Request +++++++++
trace_peer2.log:GET http://not_used/obj14 HTTP/1.1
@@ -331,7 +331,7 @@ trace_peer3.log:HTTP/1.1 200 OK
trace_peer3.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer3.log:HTTP/1.1 200 OK
trace_peer3.log:+++++++++ Incoming Request +++++++++
-trace_peer3.log:GET http://dummy.com/obj3 HTTP/1.1
+trace_peer3.log:GET http://``/obj3 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer2
trace_peer3.log:+++++++++ Proxy's Request +++++++++
trace_peer3.log:GET http://not_used/obj3 HTTP/1.1
@@ -344,7 +344,7 @@ trace_peer3.log:HTTP/1.1 200 OK
trace_peer3.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer3.log:HTTP/1.1 200 OK
trace_peer3.log:+++++++++ Incoming Request +++++++++
-trace_peer3.log:GET http://dummy.com/obj11 HTTP/1.1
+trace_peer3.log:GET http://``/obj11 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer7
trace_peer3.log:+++++++++ Proxy's Request +++++++++
trace_peer3.log:GET http://not_used/obj11 HTTP/1.1
@@ -396,7 +396,7 @@ trace_peer3.log:HTTP/1.1 200 OK
trace_peer3.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer3.log:HTTP/1.1 200 OK
trace_peer3.log:+++++++++ Incoming Request +++++++++
-trace_peer3.log:GET http://dummy.com/obj1 HTTP/1.1
+trace_peer3.log:GET http://``/obj1 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer5
trace_peer3.log:+++++++++ Proxy's Request +++++++++
trace_peer3.log:GET http://not_used/obj1 HTTP/1.1
@@ -409,7 +409,7 @@ trace_peer3.log:HTTP/1.1 200 OK
trace_peer3.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer3.log:HTTP/1.1 200 OK
trace_peer3.log:+++++++++ Incoming Request +++++++++
-trace_peer3.log:GET http://dummy.com/obj9 HTTP/1.1
+trace_peer3.log:GET http://``/obj9 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer7
trace_peer3.log:+++++++++ Proxy's Request +++++++++
trace_peer3.log:GET http://not_used/obj9 HTTP/1.1
@@ -440,7 +440,7 @@ trace_peer3.log:HTTP/1.1 200 OK
trace_peer3.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer3.log:HTTP/1.1 200 OK
trace_peer4.log:+++++++++ Incoming Request +++++++++
-trace_peer4.log:GET http://dummy.com/obj4 HTTP/1.1
+trace_peer4.log:GET http://``/obj4 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer2
trace_peer4.log:+++++++++ Proxy's Request +++++++++
trace_peer4.log:GET http://not_used/obj4 HTTP/1.1
@@ -453,7 +453,7 @@ trace_peer4.log:HTTP/1.1 200 OK
trace_peer4.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer4.log:HTTP/1.1 200 OK
trace_peer4.log:+++++++++ Incoming Request +++++++++
-trace_peer4.log:GET http://dummy.com/obj12 HTTP/1.1
+trace_peer4.log:GET http://``/obj12 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer2
trace_peer4.log:+++++++++ Proxy's Request +++++++++
trace_peer4.log:GET http://not_used/obj12 HTTP/1.1
@@ -466,7 +466,7 @@ trace_peer4.log:HTTP/1.1 200 OK
trace_peer4.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer4.log:HTTP/1.1 200 OK
trace_peer4.log:+++++++++ Incoming Request +++++++++
-trace_peer4.log:GET http://dummy.com/obj4 HTTP/1.1
+trace_peer4.log:GET http://``/obj4 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer2
trace_peer4.log:+++++++++ Proxy's Request +++++++++
trace_peer4.log:GET http://not_used/obj4 HTTP/1.1
@@ -479,7 +479,7 @@ trace_peer4.log:HTTP/1.1 200 OK
trace_peer4.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer4.log:HTTP/1.1 200 OK
trace_peer4.log:+++++++++ Incoming Request +++++++++
-trace_peer4.log:GET http://dummy.com/obj12 HTTP/1.1
+trace_peer4.log:GET http://``/obj12 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer2
trace_peer4.log:+++++++++ Proxy's Request +++++++++
trace_peer4.log:GET http://not_used/obj12 HTTP/1.1
@@ -507,7 +507,7 @@ trace_peer5.log:HTTP/1.1 200 OK
trace_peer5.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer5.log:HTTP/1.1 200 OK
trace_peer5.log:+++++++++ Incoming Request +++++++++
-trace_peer5.log:GET http://dummy.com/obj5 HTTP/1.1
+trace_peer5.log:GET http://``/obj5 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer2
trace_peer5.log:+++++++++ Proxy's Request +++++++++
trace_peer5.log:GET http://not_used/obj5 HTTP/1.1
@@ -520,7 +520,7 @@ trace_peer5.log:HTTP/1.1 200 OK
trace_peer5.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer5.log:HTTP/1.1 200 OK
trace_peer5.log:+++++++++ Incoming Request +++++++++
-trace_peer5.log:GET http://dummy.com/obj13 HTTP/1.1
+trace_peer5.log:GET http://``/obj13 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer3
trace_peer5.log:+++++++++ Proxy's Request +++++++++
trace_peer5.log:GET http://not_used/obj13 HTTP/1.1
@@ -557,7 +557,7 @@ trace_peer5.log:HTTP/1.1 200 OK
trace_peer5.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer5.log:HTTP/1.1 200 OK
trace_peer5.log:+++++++++ Incoming Request +++++++++
-trace_peer5.log:GET http://dummy.com/obj7 HTTP/1.1
+trace_peer5.log:GET http://``/obj7 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer0
trace_peer5.log:+++++++++ Proxy's Request +++++++++
trace_peer5.log:GET http://not_used/obj7 HTTP/1.1
@@ -579,7 +579,7 @@ trace_peer5.log:HTTP/1.1 200 OK
trace_peer5.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer5.log:HTTP/1.1 200 OK
trace_peer5.log:+++++++++ Incoming Request +++++++++
-trace_peer5.log:GET http://dummy.com/obj15 HTTP/1.1
+trace_peer5.log:GET http://``/obj15 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer3
trace_peer5.log:+++++++++ Proxy's Request +++++++++
trace_peer5.log:GET http://not_used/obj15 HTTP/1.1
@@ -592,7 +592,7 @@ trace_peer5.log:HTTP/1.1 200 OK
trace_peer5.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer5.log:HTTP/1.1 200 OK
trace_peer6.log:+++++++++ Incoming Request +++++++++
-trace_peer6.log:GET http://dummy.com/obj6 HTTP/1.1
+trace_peer6.log:GET http://``/obj6 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer2
trace_peer6.log:+++++++++ Proxy's Request +++++++++
trace_peer6.log:GET http://not_used/obj6 HTTP/1.1
@@ -620,7 +620,7 @@ trace_peer6.log:HTTP/1.1 200 OK
trace_peer6.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer6.log:HTTP/1.1 200 OK
trace_peer6.log:+++++++++ Incoming Request +++++++++
-trace_peer6.log:GET http://dummy.com/obj14 HTTP/1.1
+trace_peer6.log:GET http://``/obj14 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer5
trace_peer6.log:+++++++++ Proxy's Request +++++++++
trace_peer6.log:GET http://not_used/obj14 HTTP/1.1
@@ -633,7 +633,7 @@ trace_peer6.log:HTTP/1.1 200 OK
trace_peer6.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer6.log:HTTP/1.1 200 OK
trace_peer6.log:+++++++++ Incoming Request +++++++++
-trace_peer6.log:GET http://dummy.com/obj2 HTTP/1.1
+trace_peer6.log:GET http://``/obj2 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer7
trace_peer6.log:+++++++++ Proxy's Request +++++++++
trace_peer6.log:GET http://not_used/obj2 HTTP/1.1
@@ -655,7 +655,7 @@ trace_peer6.log:HTTP/1.1 200 OK
trace_peer6.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer6.log:HTTP/1.1 200 OK
trace_peer6.log:+++++++++ Incoming Request +++++++++
-trace_peer6.log:GET http://dummy.com/obj10 HTTP/1.1
+trace_peer6.log:GET http://``/obj10 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer1
trace_peer6.log:+++++++++ Proxy's Request +++++++++
trace_peer6.log:GET http://not_used/obj10 HTTP/1.1
@@ -683,7 +683,7 @@ trace_peer7.log:HTTP/1.1 200 OK
trace_peer7.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer7.log:HTTP/1.1 200 OK
trace_peer7.log:+++++++++ Incoming Request +++++++++
-trace_peer7.log:GET http://dummy.com/obj7 HTTP/1.1
+trace_peer7.log:GET http://``/obj7 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer0
trace_peer7.log:+++++++++ Proxy's Request +++++++++
trace_peer7.log:GET http://not_used/obj7 HTTP/1.1
@@ -726,7 +726,7 @@ trace_peer7.log:HTTP/1.1 200 OK
trace_peer7.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer7.log:HTTP/1.1 200 OK
trace_peer7.log:+++++++++ Incoming Request +++++++++
-trace_peer7.log:GET http://dummy.com/obj15 HTTP/1.1
+trace_peer7.log:GET http://``/obj15 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer3
trace_peer7.log:+++++++++ Proxy's Request +++++++++
trace_peer7.log:GET http://not_used/obj15 HTTP/1.1
@@ -748,7 +748,7 @@ trace_peer7.log:HTTP/1.1 200 OK
trace_peer7.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer7.log:HTTP/1.1 200 OK
trace_peer7.log:+++++++++ Incoming Request +++++++++
-trace_peer7.log:GET http://dummy.com/obj5 HTTP/1.1
+trace_peer7.log:GET http://``/obj5 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer2
trace_peer7.log:+++++++++ Proxy's Request +++++++++
trace_peer7.log:GET http://not_used/obj5 HTTP/1.1
@@ -779,7 +779,7 @@ trace_peer7.log:HTTP/1.1 200 OK
trace_peer7.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer7.log:HTTP/1.1 200 OK
trace_peer7.log:+++++++++ Incoming Request +++++++++
-trace_peer7.log:GET http://dummy.com/obj13 HTTP/1.1
+trace_peer7.log:GET http://``/obj13 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer3
trace_peer7.log:+++++++++ Proxy's Request +++++++++
trace_peer7.log:GET http://not_used/obj13 HTTP/1.1
diff --git a/tests/gold_tests/next_hop/zzz_strategies_peer2/trace.gold
b/tests/gold_tests/next_hop/zzz_strategies_peer2/trace.gold
index a07e01037c..4bb0de8bed 100644
--- a/tests/gold_tests/next_hop/zzz_strategies_peer2/trace.gold
+++ b/tests/gold_tests/next_hop/zzz_strategies_peer2/trace.gold
@@ -1,5 +1,5 @@
trace_peer0.log:+++++++++ Incoming Request +++++++++
-trace_peer0.log:GET http://ts_upstream0:UP_PORT0/obj0 HTTP/1.1
+trace_peer0.log:GET http://``/obj0 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer3
trace_peer0.log:+++++++++ Proxy's Request +++++++++
trace_peer0.log:GET http://ts_upstream0:UP_PORT0/obj0 HTTP/1.1
@@ -26,7 +26,7 @@ trace_peer0.log:HTTP/1.1 200 OK
trace_peer0.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer0.log:HTTP/1.1 200 OK
trace_peer0.log:+++++++++ Incoming Request +++++++++
-trace_peer0.log:GET http://ts_upstream0:UP_PORT0/obj8 HTTP/1.1
+trace_peer0.log:GET http://``/obj8 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer6
trace_peer0.log:+++++++++ Proxy's Request +++++++++
trace_peer0.log:GET http://ts_upstream0:UP_PORT0/obj8 HTTP/1.1
@@ -39,7 +39,7 @@ trace_peer0.log:HTTP/1.1 200 OK
trace_peer0.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer0.log:HTTP/1.1 200 OK
trace_peer0.log:+++++++++ Incoming Request +++++++++
-trace_peer0.log:GET http://ts_upstream0:UP_PORT0/obj0 HTTP/1.1
+trace_peer0.log:GET http://``/obj0 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer3
trace_peer0.log:+++++++++ Proxy's Request +++++++++
trace_peer0.log:GET http://ts_upstream0:UP_PORT0/obj0 HTTP/1.1
@@ -61,7 +61,7 @@ trace_peer0.log:HTTP/1.1 200 OK
trace_peer0.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer0.log:HTTP/1.1 200 OK
trace_peer0.log:+++++++++ Incoming Request +++++++++
-trace_peer0.log:GET http://ts_upstream0:UP_PORT0/obj8 HTTP/1.1
+trace_peer0.log:GET http://``/obj8 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer6
trace_peer0.log:+++++++++ Proxy's Request +++++++++
trace_peer0.log:GET http://ts_upstream0:UP_PORT0/obj8 HTTP/1.1
@@ -74,7 +74,7 @@ trace_peer0.log:HTTP/1.1 200 OK
trace_peer0.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer0.log:HTTP/1.1 200 OK
trace_peer1.log:+++++++++ Incoming Request +++++++++
-trace_peer1.log:GET http://ts_upstream0:UP_PORT0/obj1 HTTP/1.1
+trace_peer1.log:GET http://``/obj1 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer5
trace_peer1.log:+++++++++ Proxy's Request +++++++++
trace_peer1.log:GET http://ts_upstream0:UP_PORT0/obj1 HTTP/1.1
@@ -87,7 +87,7 @@ trace_peer1.log:HTTP/1.1 200 OK
trace_peer1.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer1.log:HTTP/1.1 200 OK
trace_peer1.log:+++++++++ Incoming Request +++++++++
-trace_peer1.log:GET http://ts_upstream0:UP_PORT0/obj9 HTTP/1.1
+trace_peer1.log:GET http://``/obj9 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer7
trace_peer1.log:+++++++++ Proxy's Request +++++++++
trace_peer1.log:GET http://ts_upstream0:UP_PORT0/obj9 HTTP/1.1
@@ -114,7 +114,7 @@ trace_peer1.log:HTTP/1.1 200 OK
trace_peer1.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer1.log:HTTP/1.1 200 OK
trace_peer1.log:+++++++++ Incoming Request +++++++++
-trace_peer1.log:GET http://ts_upstream0:UP_PORT0/obj3 HTTP/1.1
+trace_peer1.log:GET http://``/obj3 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer2
trace_peer1.log:+++++++++ Proxy's Request +++++++++
trace_peer1.log:GET http://ts_upstream0:UP_PORT0/obj3 HTTP/1.1
@@ -136,7 +136,7 @@ trace_peer1.log:HTTP/1.1 200 OK
trace_peer1.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer1.log:HTTP/1.1 200 OK
trace_peer1.log:+++++++++ Incoming Request +++++++++
-trace_peer1.log:GET http://ts_upstream0:UP_PORT0/obj11 HTTP/1.1
+trace_peer1.log:GET http://``/obj11 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer7
trace_peer1.log:+++++++++ Proxy's Request +++++++++
trace_peer1.log:GET http://ts_upstream0:UP_PORT0/obj11 HTTP/1.1
@@ -149,7 +149,7 @@ trace_peer1.log:HTTP/1.1 200 OK
trace_peer1.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer1.log:HTTP/1.1 200 OK
trace_peer2.log:+++++++++ Incoming Request +++++++++
-trace_peer2.log:GET http://ts_upstream0:UP_PORT0/obj2 HTTP/1.1
+trace_peer2.log:GET http://``/obj2 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer7
trace_peer2.log:+++++++++ Proxy's Request +++++++++
trace_peer2.log:GET http://ts_upstream0:UP_PORT0/obj2 HTTP/1.1
@@ -218,7 +218,7 @@ trace_peer2.log:HTTP/1.1 200 OK
trace_peer2.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer2.log:HTTP/1.1 200 OK
trace_peer2.log:+++++++++ Incoming Request +++++++++
-trace_peer2.log:GET http://ts_upstream0:UP_PORT0/obj10 HTTP/1.1
+trace_peer2.log:GET http://``/obj10 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer1
trace_peer2.log:+++++++++ Proxy's Request +++++++++
trace_peer2.log:GET http://ts_upstream0:UP_PORT0/obj10 HTTP/1.1
@@ -272,7 +272,7 @@ trace_peer2.log:HTTP/1.1 200 OK
trace_peer2.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer2.log:HTTP/1.1 200 OK
trace_peer2.log:+++++++++ Incoming Request +++++++++
-trace_peer2.log:GET http://ts_upstream0:UP_PORT0/obj6 HTTP/1.1
+trace_peer2.log:GET http://``/obj6 HTTP/1.1
trace_peer2.log:[alts] ---- alternate #1 (Q = 1) has these request/response
hdrs:
trace_peer2.log:GET http://ts_upstream0:UP_PORT0/obj6 HTTP/1.1
trace_peer2.log:HTTP/1.1 200 OK
@@ -290,7 +290,7 @@ trace_peer2.log:HTTP/1.1 200 OK
trace_peer2.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer2.log:HTTP/1.1 200 OK
trace_peer2.log:+++++++++ Incoming Request +++++++++
-trace_peer2.log:GET http://ts_upstream0:UP_PORT0/obj14 HTTP/1.1
+trace_peer2.log:GET http://``/obj14 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer5
trace_peer2.log:+++++++++ Proxy's Request +++++++++
trace_peer2.log:GET http://ts_upstream0:UP_PORT0/obj14 HTTP/1.1
@@ -317,7 +317,7 @@ trace_peer3.log:HTTP/1.1 200 OK
trace_peer3.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer3.log:HTTP/1.1 200 OK
trace_peer3.log:+++++++++ Incoming Request +++++++++
-trace_peer3.log:GET http://ts_upstream0:UP_PORT0/obj3 HTTP/1.1
+trace_peer3.log:GET http://``/obj3 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer2
trace_peer3.log:+++++++++ Proxy's Request +++++++++
trace_peer3.log:GET http://ts_upstream0:UP_PORT0/obj3 HTTP/1.1
@@ -330,7 +330,7 @@ trace_peer3.log:HTTP/1.1 200 OK
trace_peer3.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer3.log:HTTP/1.1 200 OK
trace_peer3.log:+++++++++ Incoming Request +++++++++
-trace_peer3.log:GET http://ts_upstream0:UP_PORT0/obj11 HTTP/1.1
+trace_peer3.log:GET http://``/obj11 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer7
trace_peer3.log:+++++++++ Proxy's Request +++++++++
trace_peer3.log:GET http://ts_upstream0:UP_PORT0/obj11 HTTP/1.1
@@ -380,7 +380,7 @@ trace_peer3.log:HTTP/1.1 200 OK
trace_peer3.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer3.log:HTTP/1.1 200 OK
trace_peer3.log:+++++++++ Incoming Request +++++++++
-trace_peer3.log:GET http://ts_upstream0:UP_PORT0/obj1 HTTP/1.1
+trace_peer3.log:GET http://``/obj1 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer5
trace_peer3.log:+++++++++ Proxy's Request +++++++++
trace_peer3.log:GET http://ts_upstream0:UP_PORT0/obj1 HTTP/1.1
@@ -393,7 +393,7 @@ trace_peer3.log:HTTP/1.1 200 OK
trace_peer3.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer3.log:HTTP/1.1 200 OK
trace_peer3.log:+++++++++ Incoming Request +++++++++
-trace_peer3.log:GET http://ts_upstream0:UP_PORT0/obj9 HTTP/1.1
+trace_peer3.log:GET http://``/obj9 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer7
trace_peer3.log:+++++++++ Proxy's Request +++++++++
trace_peer3.log:GET http://ts_upstream0:UP_PORT0/obj9 HTTP/1.1
@@ -424,7 +424,7 @@ trace_peer3.log:HTTP/1.1 200 OK
trace_peer3.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer3.log:HTTP/1.1 200 OK
trace_peer4.log:+++++++++ Incoming Request +++++++++
-trace_peer4.log:GET http://ts_upstream0:UP_PORT0/obj4 HTTP/1.1
+trace_peer4.log:GET http://``/obj4 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer2
trace_peer4.log:+++++++++ Proxy's Request +++++++++
trace_peer4.log:GET http://ts_upstream0:UP_PORT0/obj4 HTTP/1.1
@@ -437,7 +437,7 @@ trace_peer4.log:HTTP/1.1 200 OK
trace_peer4.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer4.log:HTTP/1.1 200 OK
trace_peer4.log:+++++++++ Incoming Request +++++++++
-trace_peer4.log:GET http://ts_upstream0:UP_PORT0/obj12 HTTP/1.1
+trace_peer4.log:GET http://``/obj12 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer2
trace_peer4.log:+++++++++ Proxy's Request +++++++++
trace_peer4.log:GET http://ts_upstream0:UP_PORT0/obj12 HTTP/1.1
@@ -450,7 +450,7 @@ trace_peer4.log:HTTP/1.1 200 OK
trace_peer4.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer4.log:HTTP/1.1 200 OK
trace_peer4.log:+++++++++ Incoming Request +++++++++
-trace_peer4.log:GET http://ts_upstream0:UP_PORT0/obj4 HTTP/1.1
+trace_peer4.log:GET http://``/obj4 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer2
trace_peer4.log:+++++++++ Proxy's Request +++++++++
trace_peer4.log:GET http://ts_upstream0:UP_PORT0/obj4 HTTP/1.1
@@ -463,7 +463,7 @@ trace_peer4.log:HTTP/1.1 200 OK
trace_peer4.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer4.log:HTTP/1.1 200 OK
trace_peer4.log:+++++++++ Incoming Request +++++++++
-trace_peer4.log:GET http://ts_upstream0:UP_PORT0/obj12 HTTP/1.1
+trace_peer4.log:GET http://``/obj12 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer2
trace_peer4.log:+++++++++ Proxy's Request +++++++++
trace_peer4.log:GET http://ts_upstream0:UP_PORT0/obj12 HTTP/1.1
@@ -490,7 +490,7 @@ trace_peer5.log:HTTP/1.1 200 OK
trace_peer5.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer5.log:HTTP/1.1 200 OK
trace_peer5.log:+++++++++ Incoming Request +++++++++
-trace_peer5.log:GET http://ts_upstream0:UP_PORT0/obj5 HTTP/1.1
+trace_peer5.log:GET http://``/obj5 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer2
trace_peer5.log:+++++++++ Proxy's Request +++++++++
trace_peer5.log:GET http://ts_upstream0:UP_PORT0/obj5 HTTP/1.1
@@ -503,7 +503,7 @@ trace_peer5.log:HTTP/1.1 200 OK
trace_peer5.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer5.log:HTTP/1.1 200 OK
trace_peer5.log:+++++++++ Incoming Request +++++++++
-trace_peer5.log:GET http://ts_upstream0:UP_PORT0/obj13 HTTP/1.1
+trace_peer5.log:GET http://``/obj13 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer3
trace_peer5.log:+++++++++ Proxy's Request +++++++++
trace_peer5.log:GET http://ts_upstream0:UP_PORT0/obj13 HTTP/1.1
@@ -539,7 +539,7 @@ trace_peer5.log:HTTP/1.1 200 OK
trace_peer5.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer5.log:HTTP/1.1 200 OK
trace_peer5.log:+++++++++ Incoming Request +++++++++
-trace_peer5.log:GET http://ts_upstream0:UP_PORT0/obj7 HTTP/1.1
+trace_peer5.log:GET http://``/obj7 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer0
trace_peer5.log:+++++++++ Proxy's Request +++++++++
trace_peer5.log:GET http://ts_upstream0:UP_PORT0/obj7 HTTP/1.1
@@ -561,7 +561,7 @@ trace_peer5.log:HTTP/1.1 200 OK
trace_peer5.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer5.log:HTTP/1.1 200 OK
trace_peer5.log:+++++++++ Incoming Request +++++++++
-trace_peer5.log:GET http://ts_upstream0:UP_PORT0/obj15 HTTP/1.1
+trace_peer5.log:GET http://``/obj15 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer3
trace_peer5.log:+++++++++ Proxy's Request +++++++++
trace_peer5.log:GET http://ts_upstream0:UP_PORT0/obj15 HTTP/1.1
@@ -574,7 +574,7 @@ trace_peer5.log:HTTP/1.1 200 OK
trace_peer5.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer5.log:HTTP/1.1 200 OK
trace_peer6.log:+++++++++ Incoming Request +++++++++
-trace_peer6.log:GET http://ts_upstream0:UP_PORT0/obj6 HTTP/1.1
+trace_peer6.log:GET http://``/obj6 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer2
trace_peer6.log:+++++++++ Proxy's Request +++++++++
trace_peer6.log:GET http://ts_upstream0:UP_PORT0/obj6 HTTP/1.1
@@ -601,7 +601,7 @@ trace_peer6.log:HTTP/1.1 200 OK
trace_peer6.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer6.log:HTTP/1.1 200 OK
trace_peer6.log:+++++++++ Incoming Request +++++++++
-trace_peer6.log:GET http://ts_upstream0:UP_PORT0/obj14 HTTP/1.1
+trace_peer6.log:GET http://``/obj14 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer5
trace_peer6.log:+++++++++ Proxy's Request +++++++++
trace_peer6.log:GET http://ts_upstream0:UP_PORT0/obj14 HTTP/1.1
@@ -614,7 +614,7 @@ trace_peer6.log:HTTP/1.1 200 OK
trace_peer6.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer6.log:HTTP/1.1 200 OK
trace_peer6.log:+++++++++ Incoming Request +++++++++
-trace_peer6.log:GET http://ts_upstream0:UP_PORT0/obj2 HTTP/1.1
+trace_peer6.log:GET http://``/obj2 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer7
trace_peer6.log:+++++++++ Proxy's Request +++++++++
trace_peer6.log:GET http://ts_upstream0:UP_PORT0/obj2 HTTP/1.1
@@ -636,7 +636,7 @@ trace_peer6.log:HTTP/1.1 200 OK
trace_peer6.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer6.log:HTTP/1.1 200 OK
trace_peer6.log:+++++++++ Incoming Request +++++++++
-trace_peer6.log:GET http://ts_upstream0:UP_PORT0/obj10 HTTP/1.1
+trace_peer6.log:GET http://``/obj10 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer1
trace_peer6.log:+++++++++ Proxy's Request +++++++++
trace_peer6.log:GET http://ts_upstream0:UP_PORT0/obj10 HTTP/1.1
@@ -663,7 +663,7 @@ trace_peer7.log:HTTP/1.1 200 OK
trace_peer7.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer7.log:HTTP/1.1 200 OK
trace_peer7.log:+++++++++ Incoming Request +++++++++
-trace_peer7.log:GET http://ts_upstream0:UP_PORT0/obj7 HTTP/1.1
+trace_peer7.log:GET http://``/obj7 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer0
trace_peer7.log:+++++++++ Proxy's Request +++++++++
trace_peer7.log:GET http://ts_upstream0:UP_PORT0/obj7 HTTP/1.1
@@ -704,7 +704,7 @@ trace_peer7.log:HTTP/1.1 200 OK
trace_peer7.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer7.log:HTTP/1.1 200 OK
trace_peer7.log:+++++++++ Incoming Request +++++++++
-trace_peer7.log:GET http://ts_upstream0:UP_PORT0/obj15 HTTP/1.1
+trace_peer7.log:GET http://``/obj15 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer3
trace_peer7.log:+++++++++ Proxy's Request +++++++++
trace_peer7.log:GET http://ts_upstream0:UP_PORT0/obj15 HTTP/1.1
@@ -726,7 +726,7 @@ trace_peer7.log:HTTP/1.1 200 OK
trace_peer7.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer7.log:HTTP/1.1 200 OK
trace_peer7.log:+++++++++ Incoming Request +++++++++
-trace_peer7.log:GET http://ts_upstream0:UP_PORT0/obj5 HTTP/1.1
+trace_peer7.log:GET http://``/obj5 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer2
trace_peer7.log:+++++++++ Proxy's Request +++++++++
trace_peer7.log:GET http://ts_upstream0:UP_PORT0/obj5 HTTP/1.1
@@ -757,7 +757,7 @@ trace_peer7.log:HTTP/1.1 200 OK
trace_peer7.log:+++++++++ Proxy's Response 2 +++++++++
trace_peer7.log:HTTP/1.1 200 OK
trace_peer7.log:+++++++++ Incoming Request +++++++++
-trace_peer7.log:GET http://ts_upstream0:UP_PORT0/obj13 HTTP/1.1
+trace_peer7.log:GET http://``/obj13 HTTP/1.1
result->result: ParentResultType::SPECIFIED Chosen parent: ts_peer3
trace_peer7.log:+++++++++ Proxy's Request +++++++++
trace_peer7.log:GET http://ts_upstream0:UP_PORT0/obj13 HTTP/1.1
diff --git
a/tests/gold_tests/origin_connection/per_server_connection_max.test.py
b/tests/gold_tests/origin_connection/per_server_connection_max.test.py
index 0a49a0df53..57e80f769e 100644
--- a/tests/gold_tests/origin_connection/per_server_connection_max.test.py
+++ b/tests/gold_tests/origin_connection/per_server_connection_max.test.py
@@ -20,6 +20,8 @@ Verify the behavior of
proxy.config.http.per_server.connection.max.
Test.Summary = __doc__
import os
+Test.SkipIf(Condition.CurlUsingUnixDomainSocket())
+
class PerServerConnectionMaxTest:
"""Define an object to test our max origin connection behavior."""
diff --git a/tests/gold_tests/pluginTest/cache_fill/cache_fill.test.py
b/tests/gold_tests/pluginTest/cache_fill/cache_fill.test.py
index ad7859e554..5584a60269 100644
--- a/tests/gold_tests/pluginTest/cache_fill/cache_fill.test.py
+++ b/tests/gold_tests/pluginTest/cache_fill/cache_fill.test.py
@@ -25,6 +25,8 @@ Test.SkipUnless(
Condition.PluginExists('cache_fill.so'),
Condition.PluginExists('xdebug.so'),
)
+# Skip until cache_fill supports UDS
+Test.SkipIf(Condition.CurlUsingUnixDomainSocket())
Test.ContinueOnFail = True
Test.testName = "cache_fill"
diff --git a/tests/gold_tests/pluginTest/header_rewrite/gold/cond-elif.gold
b/tests/gold_tests/pluginTest/header_rewrite/gold/cond-elif.gold
index 9ec88fc6e7..47d536e76a 100644
--- a/tests/gold_tests/pluginTest/header_rewrite/gold/cond-elif.gold
+++ b/tests/gold_tests/pluginTest/header_rewrite/gold/cond-elif.gold
@@ -1,5 +1,5 @@
``
-> GET http://www.example.com/from_path/hrw-sets.png``
+> GET ``/from_path/hrw-sets.png``
> Host: www.example.com``
> User-Agent: curl/``
``
diff --git a/tests/gold_tests/pluginTest/header_rewrite/gold/ext-sets.gold
b/tests/gold_tests/pluginTest/header_rewrite/gold/ext-sets.gold
index 9636d50f95..24bcc106a6 100644
--- a/tests/gold_tests/pluginTest/header_rewrite/gold/ext-sets.gold
+++ b/tests/gold_tests/pluginTest/header_rewrite/gold/ext-sets.gold
@@ -1,5 +1,5 @@
``
-> GET http://www.example.com/from_path/hrw-sets.png``
+> GET ``/from_path/hrw-sets.png``
> Host: www.example.com``
> User-Agent: curl/``
``
diff --git a/tests/gold_tests/pluginTest/healthchecks/healthchecks.test.py
b/tests/gold_tests/pluginTest/healthchecks/healthchecks.test.py
index fb36c1d954..bbf1a96f4c 100644
--- a/tests/gold_tests/pluginTest/healthchecks/healthchecks.test.py
+++ b/tests/gold_tests/pluginTest/healthchecks/healthchecks.test.py
@@ -95,23 +95,25 @@ class TestFileChangeBehavior:
self._ts_started = True
curl_acme.Streams.All += Testers.ContainsExpression('HTTP/1.1 200',
'Verify 200 response for /acme')
- # Repeat for acme-ssl
- tr2 = Test.AddTestRun(f'Positive acme-ssl healthchecks: {counter}')
- tr2.MakeCurlCommand(f'-kv
https://127.0.0.1:{self._ts.Variables.ssl_port}/acme-ssl', ts=self._ts)
- curl_acme_ssl = tr2.Processes.Default
- if not self._ts_started:
- curl_acme_ssl.StartBefore(self._ts)
- self._ts_started = True
- curl_acme_ssl.Streams.All += Testers.ContainsExpression('HTTP/2 200',
'Verify 200 response for /acme-ssl')
+ if not Condition.CurlUsingUnixDomainSocket():
+ # Repeat for acme-ssl
+ tr2 = Test.AddTestRun(f'Positive acme-ssl healthchecks: {counter}')
+ tr2.MakeCurlCommand(f'-kv
https://127.0.0.1:{self._ts.Variables.ssl_port}/acme-ssl', ts=self._ts)
+ curl_acme_ssl = tr2.Processes.Default
+ if not self._ts_started:
+ curl_acme_ssl.StartBefore(self._ts)
+ self._ts_started = True
+ curl_acme_ssl.Streams.All += Testers.ContainsExpression('HTTP/2
200', 'Verify 200 response for /acme-ssl')
def _remove_acme_ssl(self) -> None:
'''Remove the acme-ssl file to trigger a file change detection.
:return: None
'''
- tr = Test.AddTestRun('Remove acme-ssl file')
- p = tr.Processes.Default
- p.Command = f'rm {Test.RunDirectory}/acme-ssl && sleep 1'
- tr.Processes.Default.ReturnCode = 0
+ if not Condition.CurlUsingUnixDomainSocket():
+ tr = Test.AddTestRun('Remove acme-ssl file')
+ p = tr.Processes.Default
+ p.Command = f'rm {Test.RunDirectory}/acme-ssl && sleep 1'
+ tr.Processes.Default.ReturnCode = 0
def _expect_acme_ssl_404(self) -> None:
'''Expect a 404 response for the removed acme-ssl file.
@@ -125,23 +127,25 @@ class TestFileChangeBehavior:
self._ts_started = True
curl_acme.Streams.All += Testers.ContainsExpression('HTTP/1.1 200',
'Verify 200 response for /acme after acme-ssl removal')
- tr2 = Test.AddTestRun('Expect 404 for acme-ssl after removal')
- tr2.MakeCurlCommand(f'-kv
https://127.0.0.1:{self._ts.Variables.ssl_port}/acme-ssl', ts=self._ts)
- curl_acme_ssl = tr2.Processes.Default
- if not self._ts_started:
- curl_acme_ssl.StartBefore(self._ts)
- self._ts_started = True
- curl_acme_ssl.Streams.All += Testers.ContainsExpression('HTTP/2 404',
'Verify 404 response for /acme-ssl after removal')
+ if not Condition.CurlUsingUnixDomainSocket():
+ tr2 = Test.AddTestRun('Expect 404 for acme-ssl after removal')
+ tr2.MakeCurlCommand(f'-kv
https://127.0.0.1:{self._ts.Variables.ssl_port}/acme-ssl', ts=self._ts)
+ curl_acme_ssl = tr2.Processes.Default
+ if not self._ts_started:
+ curl_acme_ssl.StartBefore(self._ts)
+ self._ts_started = True
+ curl_acme_ssl.Streams.All += Testers.ContainsExpression('HTTP/2
404', 'Verify 404 response for /acme-ssl after removal')
def _re_add_acme_ssl(self) -> None:
'''Re-add the acme-ssl file to restore the healthcheck.
:return: None
'''
- tr = Test.AddTestRun('Re-add acme-ssl file')
- tr.Setup.Copy('acme-ssl', Test.RunDirectory)
- p = tr.Processes.Default
- p.Command = 'sleep 1'
- p.ReturnCode = 0
+ if not Condition.CurlUsingUnixDomainSocket():
+ tr = Test.AddTestRun('Re-add acme-ssl file')
+ tr.Setup.Copy('acme-ssl', Test.RunDirectory)
+ p = tr.Processes.Default
+ p.Command = 'sleep 1'
+ p.ReturnCode = 0
# Instantiate the test
diff --git
a/tests/gold_tests/pluginTest/ja4_fingerprint/ja4_fingerprint.test.py
b/tests/gold_tests/pluginTest/ja4_fingerprint/ja4_fingerprint.test.py
index f1e7e0f4dd..ea241579df 100644
--- a/tests/gold_tests/pluginTest/ja4_fingerprint/ja4_fingerprint.test.py
+++ b/tests/gold_tests/pluginTest/ja4_fingerprint/ja4_fingerprint.test.py
@@ -24,6 +24,7 @@ from ports import get_port
Test.Summary = 'Tests the ja4_fingerprint plugin.'
# The plugin is experimental and therefore may not always be built. It also
# doesn't support QUIC yet.
+Test.SkipIf(Condition.CurlUsingUnixDomainSocket())
Test.SkipUnless(Condition.PluginExists('ja4_fingerprint.so'))
TestParams = Dict[str, Any]
diff --git
a/tests/gold_tests/pluginTest/origin_server_auth/gold/origin_server_auth_parsing_ts_uds.gold
b/tests/gold_tests/pluginTest/origin_server_auth/gold/origin_server_auth_parsing_ts_uds.gold
new file mode 100644
index 0000000000..7460426878
--- /dev/null
+++
b/tests/gold_tests/pluginTest/origin_server_auth/gold/origin_server_auth_parsing_ts_uds.gold
@@ -0,0 +1,5 @@
+``DIAG: (origin_server_auth) New rule: access_key=1234567, virtual_host=yes,
version=awsv4
+``DIAG: (origin_server_auth) Set the header x-amz-content-sha256:
UNSIGNED-PAYLOAD
+``DIAG: (origin_server_auth) Set the header x-amz-date: ``
+``DIAG: (origin_server_auth) Set the header x-amz-security-token:
hkMsi6/bfHyBKrSeM/H0hoXeyx8z1yZ/mJ0c+B/TqYx=tTJDjnQWtul38Z9iVJjeH1HB4VT2c=2o3yE3o=I9kmFs/lJDR85qWjB8e5asY/WbjyRpbAzmDipQpboIcYnUYg55bxrQFidV/q8gZa5A9MpR3n=op1C0lWjeBqcEJxpevNZxteSQTQfeGsi98Cdf+On=/SINVlKrNhMnmMsDOLMGx1YYt9d4UsRg1jtVrwxL4Vd/F7aHCZySAXKv+1rkhACR023wpa3dhp+xirGJxSO9LWwvcrTdM4xJo4RS8B40tGENOJ1NKixUJxwN/6og58Oft/u==uleR89Ja=7zszK2H7tX3DqmEYNvNDYQh/7VBRe5otghQtPwJzWpXAGk+Vme4hPPM5K6axH2LxipXzRiIV=oxNs0upKNu1Fvuz
[...]
+``DIAG: (origin_server_auth) Set the header Authorization: AWS4-HMAC-SHA256
Credential=``/us-east-1/s3/aws4_request,SignedHeaders=accept;host;user-agent;x-amz-content-sha256;x-amz-date;x-amz-security-token,Signature=``
diff --git
a/tests/gold_tests/pluginTest/origin_server_auth/origin_server_auth.test.py
b/tests/gold_tests/pluginTest/origin_server_auth/origin_server_auth.test.py
index 5e6231f585..dcb9f658c3 100644
--- a/tests/gold_tests/pluginTest/origin_server_auth/origin_server_auth.test.py
+++ b/tests/gold_tests/pluginTest/origin_server_auth/origin_server_auth.test.py
@@ -117,7 +117,10 @@ class OriginServerAuthTest:
tr.StillRunningAfter = self.server
def checkLogOutput(self):
- self.ts.Disk.traffic_out.Content =
"gold/origin_server_auth_parsing_ts.gold"
+ if Condition.CurlUsingUnixDomainSocket():
+ self.ts.Disk.traffic_out.Content =
"gold/origin_server_auth_parsing_ts_uds.gold"
+ else:
+ self.ts.Disk.traffic_out.Content =
"gold/origin_server_auth_parsing_ts.gold"
self.ts.ReturnCode = 0
def runTraffic(self):
diff --git
a/tests/gold_tests/pluginTest/stats_over_http/stats_over_http.test.py
b/tests/gold_tests/pluginTest/stats_over_http/stats_over_http.test.py
index 2afa1a468b..ab4b450373 100644
--- a/tests/gold_tests/pluginTest/stats_over_http/stats_over_http.test.py
+++ b/tests/gold_tests/pluginTest/stats_over_http/stats_over_http.test.py
@@ -23,6 +23,9 @@ Test.Summary = 'Exercise stats-over-http plugin'
Test.SkipUnless(Condition.PluginExists('stats_over_http.so'))
Test.ContinueOnFail = True
+# Skip until plugin supports pp or uds path
+Test.SkipIf(Condition.CurlUsingUnixDomainSocket())
+
class StatsOverHttpPluginTest:
"""
@@ -47,7 +50,7 @@ class StatsOverHttpPluginTest:
self.ts.Disk.records_config.update(
{
- "proxy.config.http.server_ports": f"{self.ts.Variables.port}",
+ "proxy.config.http.server_ports": f"{self.ts.Variables.port}
{self.ts.Variables.uds_path}",
"proxy.config.diags.debug.enabled": 1,
"proxy.config.diags.debug.tags": "stats_over_http"
})
diff --git a/tests/gold_tests/pluginTest/url_sig/url_sig.test.py
b/tests/gold_tests/pluginTest/url_sig/url_sig.test.py
index c104c11cd4..03daee68a7 100644
--- a/tests/gold_tests/pluginTest/url_sig/url_sig.test.py
+++ b/tests/gold_tests/pluginTest/url_sig/url_sig.test.py
@@ -28,6 +28,9 @@ Test.ContinueOnFail = True
# Skip if plugins not present.
Test.SkipUnless(Condition.PluginExists('url_sig.so'))
+# Skip since tests assume client addresses are IPs
+Test.SkipIf(Condition.CurlUsingUnixDomainSocket())
+
# Set up to check the output after the tests have run.
#
url_sig_log_id = Test.Disk.File("url_sig_short.log")
diff --git a/tests/gold_tests/remap/gold/lookupTest.gold
b/tests/gold_tests/remap/gold/lookupTest.gold
index bdf721338b..e6f1707580 100644
--- a/tests/gold_tests/remap/gold/lookupTest.gold
+++ b/tests/gold_tests/remap/gold/lookupTest.gold
@@ -1,5 +1,5 @@
``
-> GET http://www.testexample.com/test``
+> GET ``/test``
> Host: www.testexample.com``
> User-Agent: curl/``
> Accept: */*
diff --git a/tests/gold_tests/remap/gold/remap-200.gold
b/tests/gold_tests/remap/gold/remap-200.gold
index 619066a4e7..d44a26ad06 100644
--- a/tests/gold_tests/remap/gold/remap-200.gold
+++ b/tests/gold_tests/remap/gold/remap-200.gold
@@ -1,5 +1,5 @@
``
-> GET http://www.example.com``
+> GET ``
> Host: www.example.com``
> User-Agent: curl/``
> Accept: */*
diff --git a/tests/gold_tests/remap/gold/remap-404.gold
b/tests/gold_tests/remap/gold/remap-404.gold
index 779053a2eb..133518e2d0 100644
--- a/tests/gold_tests/remap/gold/remap-404.gold
+++ b/tests/gold_tests/remap/gold/remap-404.gold
@@ -3,7 +3,7 @@
> Host: ``
> User-Agent: curl/``
``
-< HTTP/1.1 404 Not Found
+< HTTP/1.1 404 Not Found``
< Date: ``
< Proxy-Connection: keep-alive
< Server: ATS/``
diff --git a/tests/gold_tests/remap/gold/remap-DNS-200.gold
b/tests/gold_tests/remap/gold/remap-DNS-200.gold
index 1727d4e372..9fafc8ee1d 100644
--- a/tests/gold_tests/remap/gold/remap-DNS-200.gold
+++ b/tests/gold_tests/remap/gold/remap-DNS-200.gold
@@ -1,5 +1,5 @@
``
-> GET http://testDNS.com``
+> GET ``
> Host: testDNS.com``
> User-Agent: curl/``
> Accept: */*
diff --git a/tests/gold_tests/remap/gold/remap-DNS-ipv6-200.gold
b/tests/gold_tests/remap/gold/remap-DNS-ipv6-200.gold
index 8250185dfb..f926c5b93f 100644
--- a/tests/gold_tests/remap/gold/remap-DNS-ipv6-200.gold
+++ b/tests/gold_tests/remap/gold/remap-DNS-ipv6-200.gold
@@ -1,5 +1,5 @@
``
-> GET http://testDNS2.com``
+> GET ``
> Host: testDNS2.com``
> User-Agent: curl/``
> Accept: */*
diff --git a/tests/gold_tests/remap/gold/remap-redirect.gold
b/tests/gold_tests/remap/gold/remap-redirect.gold
index 51fdfc424b..27203b00d4 100644
--- a/tests/gold_tests/remap/gold/remap-redirect.gold
+++ b/tests/gold_tests/remap/gold/remap-redirect.gold
@@ -1,5 +1,5 @@
``
-> GET http://test3.com``
+> GET ``
> Host: test3.com``
> User-Agent: curl/``
> Accept: */*
diff --git a/tests/gold_tests/remap/gold/remap-referer-hit.gold
b/tests/gold_tests/remap/gold/remap-referer-hit.gold
index 1263973814..17e3966602 100644
--- a/tests/gold_tests/remap/gold/remap-referer-hit.gold
+++ b/tests/gold_tests/remap/gold/remap-referer-hit.gold
@@ -1,5 +1,5 @@
``
-> GET http://test4.com``
+> GET ``
> Host: test4.com``
> User-Agent: curl/``
> Accept: */*
diff --git a/tests/gold_tests/remap/gold/remap-referer-miss.gold
b/tests/gold_tests/remap/gold/remap-referer-miss.gold
index cef630ea1e..0a99becbda 100644
--- a/tests/gold_tests/remap/gold/remap-referer-miss.gold
+++ b/tests/gold_tests/remap/gold/remap-referer-miss.gold
@@ -1,5 +1,5 @@
``
-> GET http://test4.com``
+> GET ``
> Host: test4.com``
> User-Agent: curl/``
> Accept: */*
diff --git a/tests/gold_tests/remap/gold/remap2-200.gold
b/tests/gold_tests/remap/gold/remap2-200.gold
index 016e30ea80..19ec003531 100644
--- a/tests/gold_tests/remap/gold/remap2-200.gold
+++ b/tests/gold_tests/remap/gold/remap2-200.gold
@@ -1,5 +1,5 @@
``
-> GET http://www.example2.com``
+> GET ``
> Host: www.example2.com``
> User-Agent: curl/``
> Accept: */*
diff --git a/tests/gold_tests/remap/remap_http.test.py
b/tests/gold_tests/remap/remap_http.test.py
index 446071fa87..9129c4fcc7 100644
--- a/tests/gold_tests/remap/remap_http.test.py
+++ b/tests/gold_tests/remap/remap_http.test.py
@@ -82,11 +82,14 @@ tr.Processes.Default.ReturnCode = 0
tr.Processes.Default.Streams.stderr = "gold/remap-200.gold"
# www.example2.com host (match on receive port)
-tr = Test.AddTestRun()
-tr.MakeCurlCommand(
- '--proxy 127.0.0.1:{0} "http://www.example2.com" -H "Proxy-Connection:
keep-alive" --verbose'.format(ts.Variables.port), ts=ts)
-tr.Processes.Default.ReturnCode = 0
-tr.Processes.Default.Streams.stderr = "gold/remap2-200.gold"
+# map_with_recv_port doesn't work with UDS
+if not Condition.CurlUsingUnixDomainSocket():
+ tr = Test.AddTestRun()
+ tr.MakeCurlCommand(
+ '--proxy 127.0.0.1:{0} "http://www.example2.com" -H
"Proxy-Connection: keep-alive" --verbose'.format(ts.Variables.port),
+ ts=ts)
+ tr.Processes.Default.ReturnCode = 0
+ tr.Processes.Default.Streams.stderr = "gold/remap2-200.gold"
# www.example.com:80 host
tr = Test.AddTestRun()
diff --git a/tests/gold_tests/remap/remap_ws.test.py
b/tests/gold_tests/remap/remap_ws.test.py
index 7ff630688c..5d677a0f9c 100644
--- a/tests/gold_tests/remap/remap_ws.test.py
+++ b/tests/gold_tests/remap/remap_ws.test.py
@@ -94,6 +94,10 @@ tr.StillRunningAfter = ts
# Test metrics
tr = Test.AddTestRun()
+if Condition.CurlUsingUnixDomainSocket():
+ metrics_gold_file = 'remap-ws-metrics-uds.gold'
+else:
+ metrics_gold_file = 'remap-ws-metrics.gold'
tr.Processes.Default.Command = (
f"{Test.Variables.AtsTestToolsDir}/stdout_wait" + " 'traffic_ctl metric
get" +
" proxy.process.http.total_incoming_connections" + "
proxy.process.http.total_client_connections" +
@@ -108,7 +112,7 @@ tr.Processes.Default.Command = (
" proxy.process.tunnel.current_client_connections_tls_partial_blind" +
" proxy.process.tunnel.total_client_connections_tls_http" + "
proxy.process.tunnel.current_client_connections_tls_http" +
" proxy.process.tunnel.total_server_connections_tls" + "
proxy.process.tunnel.current_server_connections_tls'" +
- f" {Test.TestDirectory}/gold/remap-ws-metrics.gold")
+ f" {Test.TestDirectory}/gold/{metrics_gold_file}")
# Need to copy over the environment so traffic_ctl knows where to find the
unix domain socket
tr.Processes.Default.Env = ts.Env
tr.Processes.Default.ReturnCode = 0
diff --git a/tests/gold_tests/timeout/accept_timeout.test.py
b/tests/gold_tests/timeout/accept_timeout.test.py
index c16bc820c6..1521a129a5 100644
--- a/tests/gold_tests/timeout/accept_timeout.test.py
+++ b/tests/gold_tests/timeout/accept_timeout.test.py
@@ -21,6 +21,7 @@ Test.Summary = 'Testing ATS inactivity timeout'
Test.SkipUnless(
Condition.HasCurlFeature('http2'), Condition.HasProgram("telnet", "Need
telnet to shutdown when server shuts down tcp"),
Condition.HasProgram("nc", "Need nc to send data to server"))
+Test.SkipIf(Condition.CurlUsingUnixDomainSocket())
ts = Test.MakeATSProcess("ts", enable_tls=True)