4ddd3f5063
When we speak protocol v2 in this test, we must pass the object-format header if the algorithm is not SHA-1. Otherwise, git upload-pack fails because the hash algorithm doesn't match and not because we've failed to speak the protocol correctly. Pass the header so that our assertions test what we're really interested in. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
36 lines
1.0 KiB
Bash
Executable File
36 lines
1.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
test_description='Test responses to violations of the network protocol. In most
|
|
of these cases it will generally be acceptable for one side to break off
|
|
communications if the other side says something unexpected. We are mostly
|
|
making sure that we do not segfault or otherwise behave badly.'
|
|
. ./test-lib.sh
|
|
|
|
test_expect_success 'extra delim packet in v2 ls-refs args' '
|
|
{
|
|
packetize command=ls-refs &&
|
|
packetize "object-format=$(test_oid algo)" &&
|
|
printf 0001 &&
|
|
# protocol expects 0000 flush here
|
|
printf 0001
|
|
} >input &&
|
|
test_must_fail env GIT_PROTOCOL=version=2 \
|
|
git upload-pack . <input 2>err &&
|
|
test_i18ngrep "expected flush after ls-refs arguments" err
|
|
'
|
|
|
|
test_expect_success 'extra delim packet in v2 fetch args' '
|
|
{
|
|
packetize command=fetch &&
|
|
packetize "object-format=$(test_oid algo)" &&
|
|
printf 0001 &&
|
|
# protocol expects 0000 flush here
|
|
printf 0001
|
|
} >input &&
|
|
test_must_fail env GIT_PROTOCOL=version=2 \
|
|
git upload-pack . <input 2>err &&
|
|
test_i18ngrep "expected flush after fetch arguments" err
|
|
'
|
|
|
|
test_done
|