]>
Commit | Line | Data |
---|---|---|
9fdade06 JH |
1 | #!/bin/sh |
2 | # | |
3 | # Copyright (c) 2005 Junio C Hamano | |
4 | # | |
5 | ||
6 | test_description='Test mode change diffs. | |
7 | ||
8 | ' | |
16d4bd4f ÆAB |
9 | |
10 | TEST_PASSES_SANITIZE_LEAK=true | |
9fdade06 JH |
11 | . ./test-lib.sh |
12 | ||
2ece6ad2 | 13 | sed_script='s/\(:100644 100755\) \('"$OID_REGEX"'\) \2 /\1 X X /' |
9fdade06 | 14 | |
ec57a821 ZJS |
15 | test_expect_success 'setup' ' |
16 | echo frotz >rezrov && | |
17 | git update-index --add rezrov && | |
e1d6b55d | 18 | tree=$(git write-tree) && |
ec57a821 ZJS |
19 | echo $tree |
20 | ' | |
9fdade06 | 21 | |
ec57a821 ZJS |
22 | test_expect_success 'chmod' ' |
23 | test_chmod +x rezrov && | |
24 | git diff-index $tree >current && | |
25 | sed -e "$sed_script" <current >check && | |
26 | echo ":100644 100755 X X M rezrov" >expected && | |
27 | test_cmp expected check | |
28 | ' | |
9fdade06 | 29 | |
4434e6ba | 30 | test_expect_success 'prepare binary file' ' |
47c88d16 ÆAB |
31 | git commit -m one && |
32 | test_commit --printf two binbin "\00\01\02\03\04\05\06" | |
4434e6ba ZJS |
33 | ' |
34 | ||
426fd36f JK |
35 | test_expect_success '--stat output after text chmod' ' |
36 | test_chmod -x rezrov && | |
37 | cat >expect <<-\EOF && | |
38 | rezrov | 0 | |
39 | 1 file changed, 0 insertions(+), 0 deletions(-) | |
40 | EOF | |
41 | git diff HEAD --stat >actual && | |
1108cea7 | 42 | test_cmp expect actual |
426fd36f JK |
43 | ' |
44 | ||
45 | test_expect_success '--shortstat output after text chmod' ' | |
46 | tail -n 1 <expect >expect.short && | |
47 | git diff HEAD --shortstat >actual && | |
1108cea7 | 48 | test_cmp expect.short actual |
426fd36f JK |
49 | ' |
50 | ||
51 | test_expect_success '--stat output after binary chmod' ' | |
52 | test_chmod +x binbin && | |
53 | cat >expect <<-EOF && | |
54 | binbin | Bin | |
55 | rezrov | 0 | |
56 | 2 files changed, 0 insertions(+), 0 deletions(-) | |
57 | EOF | |
58 | git diff HEAD --stat >actual && | |
1108cea7 | 59 | test_cmp expect actual |
426fd36f JK |
60 | ' |
61 | ||
62 | test_expect_success '--shortstat output after binary chmod' ' | |
63 | tail -n 1 <expect >expect.short && | |
64 | git diff HEAD --shortstat >actual && | |
1108cea7 | 65 | test_cmp expect.short actual |
426fd36f | 66 | ' |
4434e6ba | 67 | |
9fdade06 | 68 | test_done |