Merge branch 'jc/add-u-migration-2' (early part) into next
[git/dscho.git] / t / t0080-vcs-svn.sh
blob99a314b08078960b8736ce94890e805943e4f970
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 '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 &&
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 &&
90 test_cmp expected.differ actual.differ &&
91 test_cmp expected.match actual.match &&
92 test_cmp expected.matchmore actual.matchmore
95 test_expect_success 'treap sort' '
96 cat <<-\EOF >unsorted &&
111 sort unsorted >expected &&
113 test-treap <unsorted >actual &&
114 test_cmp expected actual
117 test_done