 d96fb140f9
			
		
	
	d96fb140f9
	
	
	
		
			
			As in 7ff24785cb (leak tests: mark some misc tests as passing with
SANITIZE=leak, 2021-10-12) continue marking various miscellaneous
tests as passing when git is compiled with SANITIZE=leak. They'll now
be listed as running under the "GIT_TEST_PASSING_SANITIZE_LEAK=true"
test mode (the "linux-leaks" CI target).
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
	
		
			
				
	
	
		
			163 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			163 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| test_description='test functionality common to smart fetch & push'
 | |
| 
 | |
| TEST_PASSES_SANITIZE_LEAK=true
 | |
| . ./test-lib.sh
 | |
| 
 | |
| test_expect_success 'setup' '
 | |
| 	test_commit --no-tag initial
 | |
| '
 | |
| 
 | |
| test_expect_success 'git upload-pack --http-backend-info-refs and --advertise-refs are aliased' '
 | |
| 	git upload-pack --http-backend-info-refs . >expected 2>err.expected &&
 | |
| 	git upload-pack --advertise-refs . >actual 2>err.actual &&
 | |
| 	test_cmp err.expected err.actual &&
 | |
| 	test_cmp expected actual
 | |
| '
 | |
| 
 | |
| test_expect_success 'git receive-pack --http-backend-info-refs and --advertise-refs are aliased' '
 | |
| 	git receive-pack --http-backend-info-refs . >expected 2>err.expected &&
 | |
| 	git receive-pack --advertise-refs . >actual 2>err.actual &&
 | |
| 	test_cmp err.expected err.actual &&
 | |
| 	test_cmp expected actual
 | |
| '
 | |
| 
 | |
| test_expect_success 'git upload-pack --advertise-refs' '
 | |
| 	cat >expect <<-EOF &&
 | |
| 	$(git rev-parse HEAD) HEAD
 | |
| 	$(git rev-parse HEAD) $(git symbolic-ref HEAD)
 | |
| 	0000
 | |
| 	EOF
 | |
| 
 | |
| 	# We only care about GIT_PROTOCOL, not GIT_TEST_PROTOCOL_VERSION
 | |
| 	sane_unset GIT_PROTOCOL &&
 | |
| 	GIT_TEST_PROTOCOL_VERSION=2 \
 | |
| 	git upload-pack --advertise-refs . >out 2>err &&
 | |
| 
 | |
| 	test-tool pkt-line unpack <out >actual &&
 | |
| 	test_must_be_empty err &&
 | |
| 	test_cmp actual expect &&
 | |
| 
 | |
| 	# The --advertise-refs alias works
 | |
| 	git upload-pack --advertise-refs . >out 2>err &&
 | |
| 
 | |
| 	test-tool pkt-line unpack <out >actual &&
 | |
| 	test_must_be_empty err &&
 | |
| 	test_cmp actual expect
 | |
| '
 | |
| 
 | |
| test_expect_success 'git upload-pack --advertise-refs: v0' '
 | |
| 	# With no specified protocol
 | |
| 	cat >expect <<-EOF &&
 | |
| 	$(git rev-parse HEAD) HEAD
 | |
| 	$(git rev-parse HEAD) $(git symbolic-ref HEAD)
 | |
| 	0000
 | |
| 	EOF
 | |
| 
 | |
| 	git upload-pack --advertise-refs . >out 2>err &&
 | |
| 	test-tool pkt-line unpack <out >actual &&
 | |
| 	test_must_be_empty err &&
 | |
| 	test_cmp actual expect &&
 | |
| 
 | |
| 	# With explicit v0
 | |
| 	GIT_PROTOCOL=version=0 \
 | |
| 	git upload-pack --advertise-refs . >out 2>err &&
 | |
| 	test-tool pkt-line unpack <out >actual 2>err &&
 | |
| 	test_must_be_empty err &&
 | |
| 	test_cmp actual expect
 | |
| 
 | |
| '
 | |
| 
 | |
| test_expect_success 'git receive-pack --advertise-refs: v0' '
 | |
| 	# With no specified protocol
 | |
| 	cat >expect <<-EOF &&
 | |
| 	$(git rev-parse HEAD) $(git symbolic-ref HEAD)
 | |
| 	0000
 | |
| 	EOF
 | |
| 
 | |
| 	git receive-pack --advertise-refs . >out 2>err &&
 | |
| 	test-tool pkt-line unpack <out >actual &&
 | |
| 	test_must_be_empty err &&
 | |
| 	test_cmp actual expect &&
 | |
| 
 | |
| 	# With explicit v0
 | |
| 	GIT_PROTOCOL=version=0 \
 | |
| 	git receive-pack --advertise-refs . >out 2>err &&
 | |
| 	test-tool pkt-line unpack <out >actual 2>err &&
 | |
| 	test_must_be_empty err &&
 | |
| 	test_cmp actual expect
 | |
| 
 | |
| '
 | |
| 
 | |
| test_expect_success 'git upload-pack --advertise-refs: v1' '
 | |
| 	# With no specified protocol
 | |
| 	cat >expect <<-EOF &&
 | |
| 	version 1
 | |
| 	$(git rev-parse HEAD) HEAD
 | |
| 	$(git rev-parse HEAD) $(git symbolic-ref HEAD)
 | |
| 	0000
 | |
| 	EOF
 | |
| 
 | |
| 	GIT_PROTOCOL=version=1 \
 | |
| 	git upload-pack --advertise-refs . >out &&
 | |
| 
 | |
| 	test-tool pkt-line unpack <out >actual 2>err &&
 | |
| 	test_must_be_empty err &&
 | |
| 	test_cmp actual expect
 | |
| '
 | |
| 
 | |
| test_expect_success 'git receive-pack --advertise-refs: v1' '
 | |
| 	# With no specified protocol
 | |
| 	cat >expect <<-EOF &&
 | |
| 	version 1
 | |
| 	$(git rev-parse HEAD) $(git symbolic-ref HEAD)
 | |
| 	0000
 | |
| 	EOF
 | |
| 
 | |
| 	GIT_PROTOCOL=version=1 \
 | |
| 	git receive-pack --advertise-refs . >out &&
 | |
| 
 | |
| 	test-tool pkt-line unpack <out >actual 2>err &&
 | |
| 	test_must_be_empty err &&
 | |
| 	test_cmp actual expect
 | |
| '
 | |
| 
 | |
| test_expect_success 'git upload-pack --advertise-refs: v2' '
 | |
| 	cat >expect <<-EOF &&
 | |
| 	version 2
 | |
| 	agent=FAKE
 | |
| 	ls-refs=unborn
 | |
| 	fetch=shallow wait-for-done
 | |
| 	server-option
 | |
| 	object-format=$(test_oid algo)
 | |
| 	object-info
 | |
| 	0000
 | |
| 	EOF
 | |
| 
 | |
| 	GIT_PROTOCOL=version=2 \
 | |
| 	GIT_USER_AGENT=FAKE \
 | |
| 	git upload-pack --advertise-refs . >out 2>err &&
 | |
| 
 | |
| 	test-tool pkt-line unpack <out >actual &&
 | |
| 	test_must_be_empty err &&
 | |
| 	test_cmp actual expect
 | |
| '
 | |
| 
 | |
| test_expect_success 'git receive-pack --advertise-refs: v2' '
 | |
| 	# There is no v2 yet for receive-pack, implicit v0
 | |
| 	cat >expect <<-EOF &&
 | |
| 	$(git rev-parse HEAD) $(git symbolic-ref HEAD)
 | |
| 	0000
 | |
| 	EOF
 | |
| 
 | |
| 	GIT_PROTOCOL=version=2 \
 | |
| 	git receive-pack --advertise-refs . >out 2>err &&
 | |
| 
 | |
| 	test-tool pkt-line unpack <out >actual &&
 | |
| 	test_must_be_empty err &&
 | |
| 	test_cmp actual expect
 | |
| '
 | |
| 
 | |
| test_done
 |