fetch-pack: test cases for the new --stdin option
These test cases focus only on testing the parsing of refs on stdin, without bothering with the rest of the fetch-pack machinery. We pass in the refs using different combinations of command line and stdin and then we watch fetch-pack's stdout to see whether it prints all the refs we specified (but we ignore their order). Signed-off-by: Ivan Todoroski <grnch@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
8150749da1
commit
b2a9f4da64
@ -248,4 +248,70 @@ test_expect_success 'clone shallow object count' '
|
||||
grep "^count: 52" count.shallow
|
||||
'
|
||||
|
||||
test_expect_success 'setup tests for the --stdin parameter' '
|
||||
for head in C D E F
|
||||
do
|
||||
add $head
|
||||
done &&
|
||||
for head in A B C D E F
|
||||
do
|
||||
git tag $head $head
|
||||
done &&
|
||||
cat >input <<-\EOF
|
||||
refs/heads/C
|
||||
refs/heads/A
|
||||
refs/heads/D
|
||||
refs/tags/C
|
||||
refs/heads/B
|
||||
refs/tags/A
|
||||
refs/heads/E
|
||||
refs/tags/B
|
||||
refs/tags/E
|
||||
refs/tags/D
|
||||
EOF
|
||||
sort <input >expect &&
|
||||
(
|
||||
echo refs/heads/E &&
|
||||
echo refs/tags/E &&
|
||||
cat input
|
||||
) >input.dup
|
||||
'
|
||||
|
||||
test_expect_success 'fetch refs from cmdline' '
|
||||
(
|
||||
cd client &&
|
||||
git fetch-pack --no-progress .. $(cat ../input)
|
||||
) >output &&
|
||||
cut -d " " -f 2 <output | sort >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success 'fetch refs from stdin' '
|
||||
(
|
||||
cd client &&
|
||||
git fetch-pack --stdin --no-progress .. <../input
|
||||
) >output &&
|
||||
cut -d " " -f 2 <output | sort >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success 'fetch mixed refs from cmdline and stdin' '
|
||||
(
|
||||
cd client &&
|
||||
tail -n +5 ../input |
|
||||
git fetch-pack --stdin --no-progress .. $(head -n 4 ../input)
|
||||
) >output &&
|
||||
cut -d " " -f 2 <output | sort >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success 'test duplicate refs from stdin' '
|
||||
(
|
||||
cd client &&
|
||||
test_must_fail git fetch-pack --stdin --no-progress .. <../input.dup
|
||||
) >output &&
|
||||
cut -d " " -f 2 <output | sort >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_done
|
||||
|
Loading…
Reference in New Issue
Block a user