зеркало из https://github.com/microsoft/git.git
t5730: introduce fetch command helper
Assembling a "raw" fetch command to be fed directly to "test-tool serve-v2" is extracted into a test helper. Suggested-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Kim Altintop <kim@eagain.st> Reviewed-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
2d755dfac9
Коммит
bac01c6469
|
@ -40,6 +40,30 @@ write_command () {
|
|||
fi
|
||||
}
|
||||
|
||||
# Write a complete fetch command to stdout, suitable for use with `test-tool
|
||||
# pkt-line`. "want-ref", "want", and "have" lines are read from stdin.
|
||||
#
|
||||
# Examples:
|
||||
#
|
||||
# write_fetch_command <<-EOF
|
||||
# want-ref refs/heads/main
|
||||
# have $(git rev-parse a)
|
||||
# EOF
|
||||
#
|
||||
# write_fetch_command <<-EOF
|
||||
# want $(git rev-parse b)
|
||||
# have $(git rev-parse a)
|
||||
# EOF
|
||||
#
|
||||
write_fetch_command () {
|
||||
write_command fetch &&
|
||||
echo "0001" &&
|
||||
echo "no-progress" &&
|
||||
cat &&
|
||||
echo "done" &&
|
||||
echo "0000"
|
||||
}
|
||||
|
||||
# c(o/foo) d(o/bar)
|
||||
# \ /
|
||||
# b e(baz) f(main)
|
||||
|
@ -77,15 +101,11 @@ test_expect_success 'config controls ref-in-want advertisement' '
|
|||
'
|
||||
|
||||
test_expect_success 'invalid want-ref line' '
|
||||
test-tool pkt-line pack >in <<-EOF &&
|
||||
$(write_command fetch)
|
||||
0001
|
||||
no-progress
|
||||
write_fetch_command >pkt <<-EOF &&
|
||||
want-ref refs/heads/non-existent
|
||||
done
|
||||
0000
|
||||
EOF
|
||||
|
||||
test-tool pkt-line pack <pkt >in &&
|
||||
test_must_fail test-tool serve-v2 --stateless-rpc 2>out <in &&
|
||||
grep "unknown ref" out
|
||||
'
|
||||
|
@ -97,16 +117,11 @@ test_expect_success 'basic want-ref' '
|
|||
EOF
|
||||
git rev-parse f >expected_commits &&
|
||||
|
||||
oid=$(git rev-parse a) &&
|
||||
test-tool pkt-line pack >in <<-EOF &&
|
||||
$(write_command fetch)
|
||||
0001
|
||||
no-progress
|
||||
write_fetch_command >pkt <<-EOF &&
|
||||
want-ref refs/heads/main
|
||||
have $oid
|
||||
done
|
||||
0000
|
||||
have $(git rev-parse a)
|
||||
EOF
|
||||
test-tool pkt-line pack <pkt >in &&
|
||||
|
||||
test-tool serve-v2 --stateless-rpc >out <in &&
|
||||
check_output
|
||||
|
@ -121,17 +136,12 @@ test_expect_success 'multiple want-ref lines' '
|
|||
EOF
|
||||
git rev-parse c d >expected_commits &&
|
||||
|
||||
oid=$(git rev-parse b) &&
|
||||
test-tool pkt-line pack >in <<-EOF &&
|
||||
$(write_command fetch)
|
||||
0001
|
||||
no-progress
|
||||
write_fetch_command >pkt <<-EOF &&
|
||||
want-ref refs/heads/o/foo
|
||||
want-ref refs/heads/o/bar
|
||||
have $oid
|
||||
done
|
||||
0000
|
||||
have $(git rev-parse b)
|
||||
EOF
|
||||
test-tool pkt-line pack <pkt >in &&
|
||||
|
||||
test-tool serve-v2 --stateless-rpc >out <in &&
|
||||
check_output
|
||||
|
@ -144,16 +154,12 @@ test_expect_success 'mix want and want-ref' '
|
|||
EOF
|
||||
git rev-parse e f >expected_commits &&
|
||||
|
||||
test-tool pkt-line pack >in <<-EOF &&
|
||||
$(write_command fetch)
|
||||
0001
|
||||
no-progress
|
||||
write_fetch_command >pkt <<-EOF &&
|
||||
want-ref refs/heads/main
|
||||
want $(git rev-parse e)
|
||||
have $(git rev-parse a)
|
||||
done
|
||||
0000
|
||||
EOF
|
||||
test-tool pkt-line pack <pkt >in &&
|
||||
|
||||
test-tool serve-v2 --stateless-rpc >out <in &&
|
||||
check_output
|
||||
|
@ -166,16 +172,11 @@ test_expect_success 'want-ref with ref we already have commit for' '
|
|||
EOF
|
||||
>expected_commits &&
|
||||
|
||||
oid=$(git rev-parse c) &&
|
||||
test-tool pkt-line pack >in <<-EOF &&
|
||||
$(write_command fetch)
|
||||
0001
|
||||
no-progress
|
||||
write_fetch_command >pkt <<-EOF &&
|
||||
want-ref refs/heads/o/foo
|
||||
have $oid
|
||||
done
|
||||
0000
|
||||
have $(git rev-parse c)
|
||||
EOF
|
||||
test-tool pkt-line pack <pkt >in &&
|
||||
|
||||
test-tool serve-v2 --stateless-rpc >out <in &&
|
||||
check_output
|
||||
|
|
Загрузка…
Ссылка в новой задаче