Revision 38bdf62b738bb93f7e1a6af8058dc31f27c91d4e authored by René Scharfe on 01 October 2017, 14:45:45 UTC, committed by Junio C Hamano on 02 October 2017, 04:14:07 UTC
strbuf_addf() can be used to add a specific number of space characters
by using the format "%*s" with an empty string and specifying the
desired width.  Use strbuf_addchars() instead as it's shorter, makes the
intent clearer and is a bit more efficient.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 72d4a9a
Raw File
t5532-fetch-proxy.sh
#!/bin/sh

test_description='fetching via git:// using core.gitproxy'
. ./test-lib.sh

test_expect_success 'setup remote repo' '
	git init remote &&
	(cd remote &&
	 echo content >file &&
	 git add file &&
	 git commit -m one
	)
'

test_expect_success 'setup proxy script' '
	write_script proxy-get-cmd "$PERL_PATH" <<-\EOF &&
	read(STDIN, $buf, 4);
	my $n = hex($buf) - 4;
	read(STDIN, $buf, $n);
	my ($cmd, $other) = split /\0/, $buf;
	# drop absolute-path on repo name
	$cmd =~ s{ /}{ };
	print $cmd;
	EOF

	write_script proxy <<-\EOF
	echo >&2 "proxying for $*"
	cmd=$(./proxy-get-cmd)
	echo >&2 "Running $cmd"
	exec $cmd
	EOF
'

test_expect_success 'setup local repo' '
	git remote add fake git://example.com/remote &&
	git config core.gitproxy ./proxy
'

test_expect_success 'fetch through proxy works' '
	git fetch fake &&
	echo one >expect &&
	git log -1 --format=%s FETCH_HEAD >actual &&
	test_cmp expect actual
'

test_expect_success 'funny hostnames are rejected before running proxy' '
	test_must_fail git fetch git://-remote/repo.git 2>stderr &&
	! grep "proxying for" stderr
'

test_done
back to top