Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Side by Side Diff: third_party/sqlite/test/boundary4.tcl

Issue 3108030: Move bundled copy of sqlite one level deeper to better separate it... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « third_party/sqlite/test/boundary3.test ('k') | third_party/sqlite/test/boundary4.test » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 puts {# 2008 December 11
2 #
3 # The author disclaims copyright to this source code. In place of
4 # a legal notice, here is a blessing:
5 #
6 # May you do good and not evil.
7 # May you find forgiveness for yourself and forgive others.
8 # May you share freely, never taking more than you give.
9 #
10 #***********************************************************************
11 # This file implements regression tests for SQLite library.
12 #
13 # This file is automatically generated from a separate TCL script.
14 # This file seeks to exercise integer boundary values.
15 #
16 # $Id: boundary4.tcl,v 1.3 2009/01/02 15:45:48 shane Exp $
17
18 set testdir [file dirname $argv0]
19 source $testdir/tester.tcl
20
21 # Many of the boundary tests depend on a working 64-bit implementation.
22 if {![working_64bit_int]} { finish_test; return }
23 }
24
25 expr srand(0)
26
27 # Generate interesting boundary numbers
28 #
29 foreach x {
30 0x7f
31 0x7fff
32 0x7fffff
33 0x7fffffff
34 0x7fffffffff
35 0x7fffffffffff
36 0x7fffffffffffff
37 0x7fffffffffffffff
38 } {
39 set x [expr {wide($x)}]
40 set boundarynum($x) 1
41 set boundarynum([expr {$x+1}]) 1
42 set boundarynum([expr {-($x+1)}]) 1
43 set boundarynum([expr {-($x+2)}]) 1
44 set boundarynum([expr {$x+$x+1}]) 1
45 set boundarynum([expr {$x+$x+2}]) 1
46 }
47 set x [expr {wide(127)}]
48 for {set i 127} {$i<=9} {incr i} {
49 set boundarynum($x) 1
50 set boundarynum([expr {$x+1}]) 1
51 set x [expr {wide($x*128 + 127)}]
52 }
53
54 # Scramble the $inlist into a random order.
55 #
56 proc scramble {inlist} {
57 set y {}
58 foreach x $inlist {
59 lappend y [list [expr {rand()}] $x]
60 }
61 set y [lsort $y]
62 set outlist {}
63 foreach x $y {
64 lappend outlist [lindex $x 1]
65 }
66 return $outlist
67 }
68
69 # A simple selection sort. Not trying to be efficient.
70 #
71 proc sort {inlist} {
72 set outlist {}
73 set mn [lindex $inlist 0]
74 foreach x $inlist {
75 if {$x<$mn} {set mn $x}
76 }
77 set outlist $mn
78 set mx $mn
79 while {1} {
80 set valid 0
81 foreach x $inlist {
82 if {$x>$mx && (!$valid || $mn>$x)} {
83 set mn $x
84 set valid 1
85 }
86 }
87 if {!$valid} break
88 lappend outlist $mn
89 set mx $mn
90 }
91 return $outlist
92 }
93
94 # Reverse the order of a list
95 #
96 proc reverse {inlist} {
97 set i [llength $inlist]
98 set outlist {}
99 for {incr i -1} {$i>=0} {incr i -1} {
100 lappend outlist [lindex $inlist $i]
101 }
102 return $outlist
103 }
104
105 set nums1 [scramble [array names boundarynum]]
106 set nums2 [scramble [array names boundarynum]]
107
108 set tname boundary4
109 puts "do_test $tname-1.1 \173"
110 puts " db eval \173"
111 puts " CREATE TABLE t1(a,x);"
112 set a 0
113 set all_rowid {}
114 set all_a {}
115 set all_x {}
116 foreach r $nums1 {
117 incr a
118 set t1ra($r) $a
119 set t1ar($a) $r
120 set x [format %08x%08x [expr {wide($r)>>32}] $r]
121 set t1rx($r) $x
122 set t1xr($x) $r
123 puts " INSERT INTO t1(oid,a,x) VALUES($r,$a,'$x');"
124 lappend all_rowid $r
125 lappend all_a $a
126 lappend all_x $x
127 }
128 puts " CREATE INDEX t1i1 ON t1(a);"
129 puts " CREATE INDEX t1i2 ON t1(x);"
130 puts " \175"
131 puts "\175 {}"
132
133 puts "do_test $tname-1.2 \173"
134 puts " db eval \173"
135 puts " SELECT count(*) FROM t1"
136 puts " \175"
137 puts "\175 {[llength $nums1]}"
138
139 proc maketest {tnum sql answer} {
140 puts "do_test $::tname-$tnum \173"
141 puts " db eval \173"
142 puts " $sql"
143 puts " \175"
144 puts "\175 {$answer}"
145 }
146
147 set ans {}
148 foreach r [sort $all_rowid] {
149 lappend ans $r $t1ra($r) $t1rx($r)
150 }
151 maketest 1.3 {SELECT rowid, a, x FROM t1 ORDER BY +rowid} $ans
152 maketest 1.4 {SELECT rowid, a, x FROM t1 ORDER BY rowid} $ans
153
154 set ans {}
155 foreach r [reverse [sort $all_rowid]] {
156 lappend ans $r $t1ra($r) $t1rx($r)
157 }
158 maketest 1.5 {SELECT rowid, a, x FROM t1 ORDER BY +rowid DESC} $ans
159 maketest 1.6 {SELECT rowid, a, x FROM t1 ORDER BY rowid DESC} $ans
160
161 set ans {}
162 foreach a [sort $all_a] {
163 set r $t1ar($a)
164 lappend ans $r $a $t1rx($r)
165 }
166 maketest 1.7 {SELECT rowid, a, x FROM t1 ORDER BY +a} $ans
167 maketest 1.8 {SELECT rowid, a, x FROM t1 ORDER BY a} $ans
168
169 set ans {}
170 foreach a [reverse [sort $all_a]] {
171 set r $t1ar($a)
172 lappend ans $r $a $t1rx($r)
173 }
174 maketest 1.9 {SELECT rowid, a, x FROM t1 ORDER BY +a DESC} $ans
175 maketest 1.10 {SELECT rowid, a, x FROM t1 ORDER BY a DESC} $ans
176
177 set ans {}
178 foreach x [sort $all_x] {
179 set r $t1xr($x)
180 lappend ans $r $t1ra($r) $x
181 }
182 maketest 1.11 {SELECT rowid, a, x FROM t1 ORDER BY +x} $ans
183 maketest 1.12 {SELECT rowid, a, x FROM t1 ORDER BY x} $ans
184
185 set ans {}
186 foreach x [reverse [sort $all_x]] {
187 set r $t1xr($x)
188 lappend ans $r $t1ra($r) $x
189 }
190 maketest 1.13 {SELECT rowid, a, x FROM t1 ORDER BY +x DESC} $ans
191 maketest 1.14 {SELECT rowid, a, x FROM t1 ORDER BY x DESC} $ans
192
193 maketest 2.1 {UPDATE t1 SET rowid=a, a=rowid} {}
194
195 set ans {}
196 foreach r [sort $all_rowid] {
197 lappend ans $r $t1ra($r) $t1rx($r)
198 }
199 maketest 2.3 {SELECT a, rowid, x FROM t1 ORDER BY +a} $ans
200 maketest 2.4 {SELECT a, rowid, x FROM t1 ORDER BY a} $ans
201
202 set ans {}
203 foreach r [reverse [sort $all_rowid]] {
204 lappend ans $r $t1ra($r) $t1rx($r)
205 }
206 maketest 2.5 {SELECT a, rowid, x FROM t1 ORDER BY +a DESC} $ans
207 maketest 2.6 {SELECT a, rowid, x FROM t1 ORDER BY a DESC} $ans
208
209 set ans {}
210 foreach a [sort $all_a] {
211 set r $t1ar($a)
212 lappend ans $r $a $t1rx($r)
213 }
214 maketest 2.7 {SELECT a, rowid, x FROM t1 ORDER BY +rowid} $ans
215 maketest 2.8 {SELECT a, rowid, x FROM t1 ORDER BY rowid} $ans
216
217 set ans {}
218 foreach a [reverse [sort $all_a]] {
219 set r $t1ar($a)
220 lappend ans $r $a $t1rx($r)
221 }
222 maketest 2.9 {SELECT a, rowid, x FROM t1 ORDER BY +rowid DESC} $ans
223 maketest 2.10 {SELECT a, rowid, x FROM t1 ORDER BY rowid DESC} $ans
224
225 set ans {}
226 foreach x [sort $all_x] {
227 set r $t1xr($x)
228 lappend ans $r $t1ra($r) $x
229 }
230 maketest 2.11 {SELECT a, rowid, x FROM t1 ORDER BY +x} $ans
231 maketest 2.12 {SELECT a, rowid, x FROM t1 ORDER BY x} $ans
232
233 set ans {}
234 foreach x [reverse [sort $all_x]] {
235 set r $t1xr($x)
236 lappend ans $r $t1ra($r) $x
237 }
238 maketest 2.13 {SELECT a, rowid, x FROM t1 ORDER BY +x DESC} $ans
239 maketest 2.14 {SELECT a, rowid, x FROM t1 ORDER BY x DESC} $ans
240
241 maketest 3.1 {UPDATE t1 SET rowid=a, a=rowid} {}
242 maketest 3.2 {ALTER TABLE t1 ADD COLUMN z; UPDATE t1 SET z=zeroblob(600)} {}
243
244 set ans {}
245 foreach r [sort $all_rowid] {
246 lappend ans $r $t1ra($r) $t1rx($r)
247 }
248 maketest 3.3 {SELECT rowid, a, x FROM t1 ORDER BY +rowid} $ans
249 maketest 3.4 {SELECT rowid, a, x FROM t1 ORDER BY rowid} $ans
250
251 set ans {}
252 foreach r [reverse [sort $all_rowid]] {
253 lappend ans $r $t1ra($r) $t1rx($r)
254 }
255 maketest 3.5 {SELECT rowid, a, x FROM t1 ORDER BY +rowid DESC} $ans
256 maketest 3.6 {SELECT rowid, a, x FROM t1 ORDER BY rowid DESC} $ans
257
258 set ans {}
259 foreach a [sort $all_a] {
260 set r $t1ar($a)
261 lappend ans $r $a $t1rx($r)
262 }
263 maketest 3.7 {SELECT rowid, a, x FROM t1 ORDER BY +a} $ans
264 maketest 3.8 {SELECT rowid, a, x FROM t1 ORDER BY a} $ans
265
266 set ans {}
267 foreach a [reverse [sort $all_a]] {
268 set r $t1ar($a)
269 lappend ans $r $a $t1rx($r)
270 }
271 maketest 3.9 {SELECT rowid, a, x FROM t1 ORDER BY +a DESC} $ans
272 maketest 3.10 {SELECT rowid, a, x FROM t1 ORDER BY a DESC} $ans
273
274 set ans {}
275 foreach x [sort $all_x] {
276 set r $t1xr($x)
277 lappend ans $r $t1ra($r) $x
278 }
279 maketest 3.11 {SELECT rowid, a, x FROM t1 ORDER BY +x} $ans
280 maketest 3.12 {SELECT rowid, a, x FROM t1 ORDER BY x} $ans
281
282 set ans {}
283 foreach x [reverse [sort $all_x]] {
284 set r $t1xr($x)
285 lappend ans $r $t1ra($r) $x
286 }
287 maketest 3.13 {SELECT rowid, a, x FROM t1 ORDER BY +x DESC} $ans
288 maketest 3.14 {SELECT rowid, a, x FROM t1 ORDER BY x DESC} $ans
289
290
291 maketest 4.1 {UPDATE t1 SET rowid=a, a=rowid, x=z, z=x} {}
292
293 set ans {}
294 foreach r [sort $all_rowid] {
295 lappend ans $r $t1ra($r) $t1rx($r)
296 }
297 maketest 4.3 {SELECT a, rowid, z FROM t1 ORDER BY +a} $ans
298 maketest 4.4 {SELECT a, rowid, z FROM t1 ORDER BY a} $ans
299
300 set ans {}
301 foreach r [reverse [sort $all_rowid]] {
302 lappend ans $r $t1ra($r) $t1rx($r)
303 }
304 maketest 4.5 {SELECT a, rowid, z FROM t1 ORDER BY +a DESC} $ans
305 maketest 4.6 {SELECT a, rowid, z FROM t1 ORDER BY a DESC} $ans
306
307 set ans {}
308 foreach a [sort $all_a] {
309 set r $t1ar($a)
310 lappend ans $r $a $t1rx($r)
311 }
312 maketest 4.7 {SELECT a, rowid, z FROM t1 ORDER BY +rowid} $ans
313 maketest 4.8 {SELECT a, rowid, z FROM t1 ORDER BY rowid} $ans
314
315 set ans {}
316 foreach a [reverse [sort $all_a]] {
317 set r $t1ar($a)
318 lappend ans $r $a $t1rx($r)
319 }
320 maketest 4.9 {SELECT a, rowid, z FROM t1 ORDER BY +rowid DESC} $ans
321 maketest 4.10 {SELECT a, rowid, z FROM t1 ORDER BY rowid DESC} $ans
322
323 set ans {}
324 foreach x [sort $all_x] {
325 set r $t1xr($x)
326 lappend ans $r $t1ra($r) $x
327 }
328 maketest 4.11 {SELECT a, rowid, z FROM t1 ORDER BY +z} $ans
329 maketest 4.12 {SELECT a, rowid, z FROM t1 ORDER BY z} $ans
330
331 set ans {}
332 foreach x [reverse [sort $all_x]] {
333 set r $t1xr($x)
334 lappend ans $r $t1ra($r) $x
335 }
336 maketest 4.13 {SELECT a, rowid, z FROM t1 ORDER BY +z DESC} $ans
337 maketest 4.14 {SELECT a, rowid, z FROM t1 ORDER BY z DESC} $ans
338
339 puts {finish_test}
OLDNEW
« no previous file with comments | « third_party/sqlite/test/boundary3.test ('k') | third_party/sqlite/test/boundary4.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698