@matheusbsbs / matheus-bagliano / commits / 38ee26b2a3
Fork 0

t4044: update test to work with SHA-256

This test produces pseudo-collisions and tests git diff's behavior with them, and is therefore sensitive to the hash in use. Update the test to compute the collisions for both SHA-1 and SHA-256 using appropriate constants. Move the heredocs inside the setup block so that all of the setup code can be tested for failure. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>

brian m. carlson committed Oct 28, 2019 at 00:59 UTC 38ee26b2a3764da5120c3e0340501babef6d51c3
1 file changed +30 -16
t/t4044-diff-index-unique-abbrev.sh
+30 -16
@@ -3,34 +3,48 @@
3 test_description='test unique sha1 abbreviation on "index from..to" line'
4 . ./test-lib.sh
5
6 -if ! test_have_prereq SHA1
7 -then
8 - skip_all='not using SHA-1 for objects'
9 - test_done
10 -fi
11 -
12 -cat >expect_initial <<EOF
13 -100644 blob 51d2738463ea4ca66f8691c91e33ce64b7d41bb1 foo
14 -EOF
6 +test_expect_success 'setup' '
7 + test_oid_cache <<-EOF &&
8 + val1 sha1:4827
9 + val1 sha256:5664
10
16 -cat >expect_update <<EOF
17 -100644 blob 51d2738efb4ad8a1e40bed839ab8e116f0a15e47 foo
18 -EOF
11 + val2 sha1:11742
12 + val2 sha256:10625
13
20 -test_expect_success 'setup' '
21 - echo 4827 > foo &&
14 + hash1 sha1:51d2738463ea4ca66f8691c91e33ce64b7d41bb1
15 + hash1 sha256:ae31dfff0af93b2c62b0098a039b38569c43b0a7e97b873000ca42d128f27350
16 +
17 + hasht1 sha1:51d27384
18 + hasht1 sha256:ae31dfff
19 +
20 + hash2 sha1:51d2738efb4ad8a1e40bed839ab8e116f0a15e47
21 + hash2 sha256:ae31dffada88a46fd5f53c7ed5aa25a7a8951f1d5e88456c317c8d5484d263e5
22 +
23 + hasht2 sha1:51d2738e
24 + hasht2 sha256:ae31dffa
25 + EOF
26 +
27 + cat >expect_initial <<-EOF &&
28 + 100644 blob $(test_oid hash1) foo
29 + EOF
30 +
31 + cat >expect_update <<-EOF &&
32 + 100644 blob $(test_oid hash2) foo
33 + EOF
34 +
35 + echo "$(test_oid val1)" > foo &&
36 git add foo &&
37 git commit -m "initial" &&
38 git cat-file -p HEAD: > actual &&
39 test_cmp expect_initial actual &&
26 - echo 11742 > foo &&
40 + echo "$(test_oid val2)" > foo &&
41 git commit -a -m "update" &&
42 git cat-file -p HEAD: > actual &&
43 test_cmp expect_update actual
44 '
45
46 cat >expect <<EOF
33 -index 51d27384..51d2738e 100644
47 +index $(test_oid hasht1)..$(test_oid hasht2) 100644
48 EOF
49
50 test_expect_success 'diff does not produce ambiguous index line' '