Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions t/t5564-http-proxy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,19 @@ start_socks() {

# The %30 tests that the correct amount of percent-encoding is applied to the
# proxy string passed to curl.
# Use a short path for the socket to avoid exceeding the 108-character
# Unix domain socket limit when the trash directory path is long.
SOCKS_SOCK="${TMPDIR:-/tmp}/git-test-socks-%30.sock"

test_lazy_prereq SOCKS_PROXY '
test_have_prereq PERL &&
start_socks "$TRASH_DIRECTORY/%30.sock"
start_socks "$SOCKS_SOCK"
'

test_atexit '
test ! -e "$TRASH_DIRECTORY/socks.pid" ||
kill "$(cat "$TRASH_DIRECTORY/socks.pid")"
rm -f "$SOCKS_SOCK"
'

# The below tests morally ought to be gated on a prerequisite that Git is
Expand All @@ -70,7 +75,8 @@ old_libcurl_error() {

test_expect_success SOCKS_PROXY 'clone via Unix socket' '
test_when_finished "rm -rf clone" &&
test_config_global http.proxy "socks4://localhost$PWD/%2530.sock" && {
socks_proxy_url="socks4://localhost$(echo "$SOCKS_SOCK" | sed "s/%/%25/g")" &&
test_config_global http.proxy "$socks_proxy_url" && {
{
GIT_TRACE_CURL=$PWD/trace \
GIT_TRACE_CURL_COMPONENTS=socks \
Expand Down
Loading