summaryrefslogtreecommitdiff
path: root/t/t0080-vcs-svn.sh
blob: 99a314b08078960b8736ce94890e805943e4f970 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#!/bin/sh

test_description='check infrastructure for svn importer'

. ./test-lib.sh
uint32_max=4294967295

test_expect_success 'obj pool: store data' '
	cat <<-\EOF >expected &&
	0
	1
	EOF

	test-obj-pool <<-\EOF >actual &&
	alloc one 16
	set one 13
	test one 13
	reset one
	EOF
	test_cmp expected actual
'

test_expect_success 'obj pool: NULL is offset ~0' '
	echo "$uint32_max" >expected &&
	echo null one | test-obj-pool >actual &&
	test_cmp expected actual
'

test_expect_success 'obj pool: out-of-bounds access' '
	cat <<-EOF >expected &&
	0
	0
	$uint32_max
	$uint32_max
	16
	20
	$uint32_max
	EOF

	test-obj-pool <<-\EOF >actual &&
	alloc one 16
	alloc two 16
	offset one 20
	offset two 20
	alloc one 5
	offset one 20
	free one 1
	offset one 20
	reset one
	reset two
	EOF
	test_cmp expected actual
'

test_expect_success 'obj pool: high-water mark' '
	cat <<-\EOF >expected &&
	0
	0
	10
	20
	20
	20
	EOF

	test-obj-pool <<-\EOF >actual &&
	alloc one 10
	committed one
	alloc one 10
	commit one
	committed one
	alloc one 10
	free one 20
	committed one
	reset one
	EOF
	test_cmp expected actual
'

test_expect_success 'string pool' '
	echo a does not equal b >expected.differ &&
	echo a equals a >expected.match &&
	echo equals equals equals >expected.matchmore &&

	test-string-pool "a,--b" >actual.differ &&
	test-string-pool "a,a" >actual.match &&
	test-string-pool "equals-equals" >actual.matchmore &&
	test_must_fail test-string-pool a,a,a &&
	test_must_fail test-string-pool a &&

	test_cmp expected.differ actual.differ &&
	test_cmp expected.match actual.match &&
	test_cmp expected.matchmore actual.matchmore
'

test_expect_success 'treap sort' '
	cat <<-\EOF >unsorted &&
	68
	12
	13
	13
	68
	13
	13
	21
	10
	11
	12
	13
	13
	EOF
	sort unsorted >expected &&

	test-treap <unsorted >actual &&
	test_cmp expected actual
'

test_done