Skip to content

Commit a824421

Browse files
shreyp135gitster
authored andcommitted
t5500: simplify test implementation and fix git exit code suppression
The 'shallow since with commit graph and already-seen commit” test uses a convoluted here-doc that combines manual input construction with packetize, echo and embedded Git commands. This structure hides failures from the git commands, as their exit codes are suppressed inside echo command substitution and being on the upstream side of pipes. Instead of using here-doc to construct the pack protocol that is directly sent to the 'git upload-pack' command being tested, capture the outputs of the git commands upfront and use the 'test-tool pkt-line pack' tool to construct the input in a temporary file, and then feed it to the command. This has a few advantages: * Executing the git commands outside the here-doc avoids suppressing their exit codes and makes debugging easier. * It removes the need to manually count and manage pkt-line lengths to keep in line with the v2 protocol, as the tool handles this internally. Signed-off-by: Shreyansh Paliwal <shreyanshpaliwalcmsmn@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 83a69f1 commit a824421

1 file changed

Lines changed: 12 additions & 7 deletions

File tree

t/t5500-fetch-pack.sh

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -892,15 +892,20 @@ test_expect_success 'shallow since with commit graph and already-seen commit' '
892892
test_commit other &&
893893
git commit-graph write --reachable &&
894894
git config core.commitGraph true &&
895-
896-
GIT_PROTOCOL=version=2 git upload-pack . <<-EOF >/dev/null
897-
0012command=fetch
898-
$(echo "object-format=$(test_oid algo)" | packetize)
899-
00010013deepen-since 1
900-
$(echo "want $(git rev-parse other)" | packetize)
901-
$(echo "have $(git rev-parse main)" | packetize)
895+
oid_algo=$(test_oid algo) &&
896+
oid_other=$(git rev-parse other) &&
897+
oid_main=$(git rev-parse main) &&
898+
899+
test-tool pkt-line pack >input <<-EOF &&
900+
command=fetch
901+
object-format=$oid_algo
902+
0001
903+
deepen-since 1
904+
want $oid_other
905+
have $oid_main
902906
0000
903907
EOF
908+
GIT_PROTOCOL=version=2 git upload-pack . <input >/dev/null
904909
)
905910
'
906911

0 commit comments

Comments
 (0)