]> git.ipfire.org Git - thirdparty/git.git/blame - t/t0016-oidmap.sh
Sync with Git 2.45.1
[thirdparty/git.git] / t / t0016-oidmap.sh
CommitLineData
c1f7f538
CC
1#!/bin/sh
2
3test_description='test oidmap'
956d2e46
ÆAB
4
5TEST_PASSES_SANITIZE_LEAK=true
c1f7f538
CC
6. ./test-lib.sh
7
8# This purposefully is very similar to t0011-hashmap.sh
9
10test_oidmap () {
11 echo "$1" | test-tool oidmap $3 >actual &&
12 echo "$2" >expect &&
13 test_cmp expect actual
14}
15
16
17test_expect_success 'setup' '
18
19 test_commit one &&
20 test_commit two &&
21 test_commit three &&
22 test_commit four
23
24'
25
26test_expect_success 'put' '
27
28test_oidmap "put one 1
29put two 2
30put invalidOid 4
31put three 3" "NULL
32NULL
33Unknown oid: invalidOid
34NULL"
35
36'
37
38test_expect_success 'replace' '
39
40test_oidmap "put one 1
41put two 2
42put three 3
43put invalidOid 4
44put two deux
45put one un" "NULL
46NULL
47NULL
48Unknown oid: invalidOid
492
501"
51
52'
53
54test_expect_success 'get' '
55
56test_oidmap "put one 1
57put two 2
58put three 3
59get two
60get four
61get invalidOid
62get one" "NULL
63NULL
64NULL
652
66NULL
67Unknown oid: invalidOid
681"
69
70'
71
fbec05c2
CC
72test_expect_success 'remove' '
73
74test_oidmap "put one 1
75put two 2
76put three 3
77remove one
78remove two
79remove invalidOid
80remove four" "NULL
81NULL
82NULL
831
842
85Unknown oid: invalidOid
86NULL"
87
88'
89
c1f7f538 90test_expect_success 'iterate' '
e1e7a771
JK
91 test-tool oidmap >actual.raw <<-\EOF &&
92 put one 1
93 put two 2
94 put three 3
95 iterate
96 EOF
97
98 # sort "expect" too so we do not rely on the order of particular oids
99 sort >expect <<-EOF &&
100 NULL
101 NULL
102 NULL
103 $(git rev-parse one) 1
104 $(git rev-parse two) 2
105 $(git rev-parse three) 3
106 EOF
107
108 sort <actual.raw >actual &&
109 test_cmp expect actual
c1f7f538
CC
110'
111
112test_done