Merge branch 'sg/complete-symmetric-diff'
[git] / t / t0080-vcs-svn.sh
1 #!/bin/sh
2
3 test_description='check infrastructure for svn importer'
4
5 . ./test-lib.sh
6 uint32_max=4294967295
7
8 test_expect_success 'obj pool: store data' '
9         cat <<-\EOF >expected &&
10         0
11         1
12         EOF
13
14         test-obj-pool <<-\EOF >actual &&
15         alloc one 16
16         set one 13
17         test one 13
18         reset one
19         EOF
20         test_cmp expected actual
21 '
22
23 test_expect_success 'obj pool: NULL is offset ~0' '
24         echo "$uint32_max" >expected &&
25         echo null one | test-obj-pool >actual &&
26         test_cmp expected actual
27 '
28
29 test_expect_success 'obj pool: out-of-bounds access' '
30         cat <<-EOF >expected &&
31         0
32         0
33         $uint32_max
34         $uint32_max
35         16
36         20
37         $uint32_max
38         EOF
39
40         test-obj-pool <<-\EOF >actual &&
41         alloc one 16
42         alloc two 16
43         offset one 20
44         offset two 20
45         alloc one 5
46         offset one 20
47         free one 1
48         offset one 20
49         reset one
50         reset two
51         EOF
52         test_cmp expected actual
53 '
54
55 test_expect_success 'obj pool: high-water mark' '
56         cat <<-\EOF >expected &&
57         0
58         0
59         10
60         20
61         20
62         20
63         EOF
64
65         test-obj-pool <<-\EOF >actual &&
66         alloc one 10
67         committed one
68         alloc one 10
69         commit one
70         committed one
71         alloc one 10
72         free one 20
73         committed one
74         reset one
75         EOF
76         test_cmp expected actual
77 '
78
79 test_expect_success 'string pool' '
80         echo a does not equal b >expected.differ &&
81         echo a equals a >expected.match &&
82         echo equals equals equals >expected.matchmore &&
83
84         test-string-pool "a,--b" >actual.differ &&
85         test-string-pool "a,a" >actual.match &&
86         test-string-pool "equals-equals" >actual.matchmore &&
87         test_must_fail test-string-pool a,a,a &&
88         test_must_fail test-string-pool a &&
89
90         test_cmp expected.differ actual.differ &&
91         test_cmp expected.match actual.match &&
92         test_cmp expected.matchmore actual.matchmore
93 '
94
95 test_expect_success 'treap sort' '
96         cat <<-\EOF >unsorted &&
97         68
98         12
99         13
100         13
101         68
102         13
103         13
104         21
105         10
106         11
107         12
108         13
109         13
110         EOF
111         sort unsorted >expected &&
112
113         test-treap <unsorted >actual &&
114         test_cmp expected actual
115 '
116
117 test_done