Skip to content

Commit 107687b

Browse files
committed
Merge branch 'ab/bundle-tests'
"git bundle" gained more test coverage. * ab/bundle-tests: bundle tests: use test_cmp instead of grep bundle tests: use ">file" not ": >file"
2 parents e163f73 + 6376651 commit 107687b

File tree

1 file changed

+56
-16
lines changed

1 file changed

+56
-16
lines changed

t/t5607-clone-bundle.sh

Lines changed: 56 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,21 @@ test_expect_success '"verify" needs a worktree' '
2929

3030
test_expect_success 'annotated tags can be excluded by rev-list options' '
3131
git bundle create bundle --all --since=7.Apr.2005.15:14:00.-0700 &&
32-
git ls-remote bundle > output &&
33-
grep tag output &&
32+
cat >expect <<-EOF &&
33+
$(git rev-parse HEAD) HEAD
34+
$(git rev-parse tag) refs/tags/tag
35+
$(git rev-parse main) refs/heads/main
36+
EOF
37+
git ls-remote bundle >actual &&
38+
test_cmp expect actual &&
39+
3440
git bundle create bundle --all --since=7.Apr.2005.15:16:00.-0700 &&
35-
git ls-remote bundle > output &&
36-
! grep tag output
41+
cat >expect <<-EOF &&
42+
$(git rev-parse HEAD) HEAD
43+
$(git rev-parse main) refs/heads/main
44+
EOF
45+
git ls-remote bundle >actual &&
46+
test_cmp expect actual
3747
'
3848

3949
test_expect_success 'die if bundle file cannot be created' '
@@ -43,39 +53,65 @@ test_expect_success 'die if bundle file cannot be created' '
4353

4454
test_expect_success 'bundle --stdin' '
4555
echo main | git bundle create stdin-bundle.bdl --stdin &&
46-
git ls-remote stdin-bundle.bdl >output &&
47-
grep main output
56+
cat >expect <<-EOF &&
57+
$(git rev-parse main) refs/heads/main
58+
EOF
59+
git ls-remote stdin-bundle.bdl >actual &&
60+
test_cmp expect actual
4861
'
4962

5063
test_expect_success 'bundle --stdin <rev-list options>' '
5164
echo main | git bundle create hybrid-bundle.bdl --stdin tag &&
52-
git ls-remote hybrid-bundle.bdl >output &&
53-
grep main output
65+
cat >expect <<-EOF &&
66+
$(git rev-parse main) refs/heads/main
67+
EOF
68+
git ls-remote stdin-bundle.bdl >actual &&
69+
test_cmp expect actual
5470
'
5571

5672
test_expect_success 'empty bundle file is rejected' '
57-
: >empty-bundle &&
73+
>empty-bundle &&
5874
test_must_fail git fetch empty-bundle
5975
'
6076

6177
# This triggers a bug in older versions where the resulting line (with
6278
# --pretty=oneline) was longer than a 1024-char buffer.
6379
test_expect_success 'ridiculously long subject in boundary' '
64-
: >file4 &&
80+
>file4 &&
6581
test_tick &&
6682
git add file4 &&
6783
printf "%01200d\n" 0 | git commit -F - &&
6884
test_commit fifth &&
6985
git bundle create long-subject-bundle.bdl HEAD^..HEAD &&
70-
git bundle list-heads long-subject-bundle.bdl >heads &&
71-
test -s heads &&
86+
cat >expect <<-EOF &&
87+
$(git rev-parse main) HEAD
88+
EOF
89+
git bundle list-heads long-subject-bundle.bdl >actual &&
90+
test_cmp expect actual &&
91+
7292
git fetch long-subject-bundle.bdl &&
73-
sed -n "/^-/{p;q;}" long-subject-bundle.bdl >boundary &&
74-
grep "^-$OID_REGEX " boundary
93+
94+
if ! test_have_prereq SHA1
95+
then
96+
echo "@object-format=sha256"
97+
fi >expect &&
98+
cat >>expect <<-EOF &&
99+
-$(git log --pretty=format:"%H %s" -1 HEAD^)
100+
$(git rev-parse HEAD) HEAD
101+
EOF
102+
103+
if test_have_prereq SHA1
104+
then
105+
head -n 3 long-subject-bundle.bdl
106+
else
107+
head -n 4 long-subject-bundle.bdl
108+
fi | grep -v "^#" >actual &&
109+
110+
test_cmp expect actual
75111
'
76112

77113
test_expect_success 'prerequisites with an empty commit message' '
78-
: >file1 &&
114+
>file1 &&
79115
git add file1 &&
80116
test_tick &&
81117
git commit --allow-empty-message -m "" &&
@@ -103,7 +139,11 @@ test_expect_success 'fetch SHA-1 from bundle' '
103139

104140
test_expect_success 'git bundle uses expected default format' '
105141
git bundle create bundle HEAD^.. &&
106-
head -n1 bundle | grep "^# v$(test_oid version) git bundle$"
142+
cat >expect <<-EOF &&
143+
# v$(test_oid version) git bundle
144+
EOF
145+
head -n1 bundle >actual &&
146+
test_cmp expect actual
107147
'
108148

109149
test_expect_success 'git bundle v3 has expected contents' '

0 commit comments

Comments
 (0)