Merge branch 'jk/test-must-fail-missing'
[alt-git.git] / t / t0080-vcs-svn.sh
blobd3225ada681d205f43914a6b59f4bdf4f2263451
1 #!/bin/sh
3 test_description='check infrastructure for svn importer'
5 . ./test-lib.sh
6 uint32_max=4294967295
8 test_expect_success 'obj pool: store data' '
9 cat <<-\EOF >expected &&
12 EOF
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
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
29 test_expect_success 'obj pool: out-of-bounds access' '
30 cat <<-EOF >expected &&
33 $uint32_max
34 $uint32_max
37 $uint32_max
38 EOF
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
55 test_expect_success 'obj pool: high-water mark' '
56 cat <<-\EOF >expected &&
63 EOF
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
79 test_expect_success 'line buffer' '
80 echo HELLO >expected1 &&
81 printf "%s\n" "" HELLO >expected2 &&
82 echo >expected3 &&
83 printf "%s\n" "" Q | q_to_nul >expected4 &&
84 printf "%s\n" foo "" >expected5 &&
85 printf "%s\n" "" foo >expected6 &&
87 test-line-buffer <<-\EOF >actual1 &&
89 HELLO
90 EOF
92 test-line-buffer <<-\EOF >actual2 &&
96 HELLO
97 EOF
99 q_to_nul <<-\EOF |
103 test-line-buffer >actual3 &&
105 q_to_nul <<-\EOF |
111 test-line-buffer >actual4 &&
113 test-line-buffer <<-\EOF >actual5 &&
118 test-line-buffer <<-\EOF >actual6 &&
125 test_cmp expected1 actual1 &&
126 test_cmp expected2 actual2 &&
127 test_cmp expected3 actual3 &&
128 test_cmp expected4 actual4 &&
129 test_cmp expected5 actual5 &&
130 test_cmp expected6 actual6
133 test_expect_success 'string pool' '
134 echo a does not equal b >expected.differ &&
135 echo a equals a >expected.match &&
136 echo equals equals equals >expected.matchmore &&
138 test-string-pool "a,--b" >actual.differ &&
139 test-string-pool "a,a" >actual.match &&
140 test-string-pool "equals-equals" >actual.matchmore &&
141 test_must_fail test-string-pool a,a,a &&
142 test_must_fail test-string-pool a &&
144 test_cmp expected.differ actual.differ &&
145 test_cmp expected.match actual.match &&
146 test_cmp expected.matchmore actual.matchmore
149 test_expect_success 'treap sort' '
150 cat <<-\EOF >unsorted &&
165 sort unsorted >expected &&
167 test-treap <unsorted >actual &&
168 test_cmp expected actual
171 test_done