Git 2.29-rc1
[git] / t / t5704-protocol-violations.sh
1 #!/bin/sh
2
3 test_description='Test responses to violations of the network protocol. In most
4 of these cases it will generally be acceptable for one side to break off
5 communications if the other side says something unexpected. We are mostly
6 making sure that we do not segfault or otherwise behave badly.'
7 . ./test-lib.sh
8
9 test_expect_success 'extra delim packet in v2 ls-refs args' '
10         {
11                 packetize command=ls-refs &&
12                 packetize "object-format=$(test_oid algo)" &&
13                 printf 0001 &&
14                 # protocol expects 0000 flush here
15                 printf 0001
16         } >input &&
17         test_must_fail env GIT_PROTOCOL=version=2 \
18                 git upload-pack . <input 2>err &&
19         test_i18ngrep "expected flush after ls-refs arguments" err
20 '
21
22 test_expect_success 'extra delim packet in v2 fetch args' '
23         {
24                 packetize command=fetch &&
25                 packetize "object-format=$(test_oid algo)" &&
26                 printf 0001 &&
27                 # protocol expects 0000 flush here
28                 printf 0001
29         } >input &&
30         test_must_fail env GIT_PROTOCOL=version=2 \
31                 git upload-pack . <input 2>err &&
32         test_i18ngrep "expected flush after fetch arguments" err
33 '
34
35 test_done