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

Side by Side Diff: third_party/sqlite/src/test/boundary1.tcl

Issue 694353003: Get `gn gen` to succeed on Windows (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: remove GYP_DEFINES code Created 6 years, 1 month 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
« no previous file with comments | « third_party/sqlite/src/test/blob.test ('k') | third_party/sqlite/src/test/boundary1.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: boundary1.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 0
31 1
32 0x7f
33 0x7fff
34 0x7fffff
35 0x7fffffff
36 0x7fffffffff
37 0x7fffffffffff
38 0x7fffffffffffff
39 0x7fffffffffffffff
40 } {
41 set x [expr {wide($x)}]
42 set boundarynum($x) 1
43 set boundarynum([expr {$x+1}]) 1
44 set boundarynum([expr {-($x+1)}]) 1
45 set boundarynum([expr {-($x+2)}]) 1
46 set boundarynum([expr {$x+$x+1}]) 1
47 set boundarynum([expr {$x+$x+2}]) 1
48 }
49 set x [expr {wide(127)}]
50 for {set i 1} {$i<=9} {incr i} {
51 set boundarynum($x) 1
52 set boundarynum([expr {$x+1}]) 1
53 set x [expr {wide($x*128 + 127)}]
54 }
55
56 # Scramble the $inlist into a random order.
57 #
58 proc scramble {inlist} {
59 set y {}
60 foreach x $inlist {
61 lappend y [list [expr {rand()}] $x]
62 }
63 set y [lsort $y]
64 set outlist {}
65 foreach x $y {
66 lappend outlist [lindex $x 1]
67 }
68 return $outlist
69 }
70
71 # A simple selection sort. Not trying to be efficient.
72 #
73 proc sort {inlist} {
74 set outlist {}
75 set mn [lindex $inlist 0]
76 foreach x $inlist {
77 if {$x<$mn} {set mn $x}
78 }
79 set outlist $mn
80 set mx $mn
81 while {1} {
82 set valid 0
83 foreach x $inlist {
84 if {$x>$mx && (!$valid || $mn>$x)} {
85 set mn $x
86 set valid 1
87 }
88 }
89 if {!$valid} break
90 lappend outlist $mn
91 set mx $mn
92 }
93 return $outlist
94 }
95
96 # Reverse the order of a list
97 #
98 proc reverse {inlist} {
99 set i [llength $inlist]
100 set outlist {}
101 for {incr i -1} {$i>=0} {incr i -1} {
102 lappend outlist [lindex $inlist $i]
103 }
104 return $outlist
105 }
106
107 set nums1 [scramble [array names boundarynum]]
108 set nums2 [scramble [array names boundarynum]]
109
110 set tname boundary1
111 puts "do_test $tname-1.1 \173"
112 puts " db eval \173"
113 puts " CREATE TABLE t1(a,x);"
114 set a 0
115 foreach r $nums1 {
116 incr a
117 set t1ra($r) $a
118 set t1ar($a) $r
119 set x [format %08x%08x [expr {wide($r)>>32}] $r]
120 set t1rx($r) $x
121 set t1xr($x) $r
122 puts " INSERT INTO t1(oid,a,x) VALUES($r,$a,'$x');"
123 }
124 puts " CREATE INDEX t1i1 ON t1(a);"
125 puts " CREATE INDEX t1i2 ON t1(x);"
126 puts " \175"
127 puts "\175 {}"
128
129 puts "do_test $tname-1.2 \173"
130 puts " db eval \173"
131 puts " SELECT count(*) FROM t1"
132 puts " \175"
133 puts "\175 {64}"
134
135 set nums3 $nums2
136 lappend nums3 9.22337303685477580800e+18
137 lappend nums3 -9.22337303685477580800e+18
138
139 set i 0
140 foreach r $nums3 {
141 incr i
142
143 if {abs($r)<9.22337203685477580800e+18} {
144 set x $t1rx($r)
145 set a $t1ra($r)
146 set r5 $r.5
147 set r0 $r.0
148 puts "do_test $tname-2.$i.1 \173"
149 puts " db eval \173"
150 puts " SELECT * FROM t1 WHERE rowid=$r"
151 puts " \175"
152 puts "\175 {$a $x}"
153 puts "do_test $tname-2.$i.2 \173"
154 puts " db eval \173"
155 puts " SELECT rowid, a FROM t1 WHERE x='$x'"
156 puts " \175"
157 puts "\175 {$r $a}"
158 puts "do_test $tname-2.$i.3 \173"
159 puts " db eval \173"
160 puts " SELECT rowid, x FROM t1 WHERE a=$a"
161 puts " \175"
162 puts "\175 {$r $x}"
163 }
164
165 foreach op {> >= < <=} subno {gt ge lt le} {
166
167 ################################################################ 2.x.y.1
168 set rset {}
169 set aset {}
170 foreach rx $nums2 {
171 if "\$rx $op \$r" {
172 lappend rset $rx
173 lappend aset $t1ra($rx)
174 }
175 }
176 puts "do_test $tname-2.$i.$subno.1 \173"
177 puts " db eval \173"
178 puts " SELECT a FROM t1 WHERE rowid $op $r ORDER BY a"
179 puts " \175"
180 puts "\175 {[sort $aset]}"
181
182 ################################################################ 2.x.y.2
183 puts "do_test $tname-2.$i.$subno.2 \173"
184 puts " db eval \173"
185 puts " SELECT a FROM t1 WHERE rowid $op $r ORDER BY a DESC"
186 puts " \175"
187 puts "\175 {[reverse [sort $aset]]}"
188
189 ################################################################ 2.x.y.3
190 set aset {}
191 foreach rx [sort $rset] {
192 lappend aset $t1ra($rx)
193 }
194 puts "do_test $tname-2.$i.$subno.3 \173"
195 puts " db eval \173"
196 puts " SELECT a FROM t1 WHERE rowid $op $r ORDER BY rowid"
197 puts " \175"
198 puts "\175 {$aset}"
199
200 ################################################################ 2.x.y.4
201 set aset {}
202 foreach rx [reverse [sort $rset]] {
203 lappend aset $t1ra($rx)
204 }
205 puts "do_test $tname-2.$i.$subno.4 \173"
206 puts " db eval \173"
207 puts " SELECT a FROM t1 WHERE rowid $op $r ORDER BY rowid DESC"
208 puts " \175"
209 puts "\175 {$aset}"
210
211 ################################################################ 2.x.y.5
212 set aset {}
213 set xset {}
214 foreach rx $rset {
215 lappend xset $t1rx($rx)
216 }
217 foreach x [sort $xset] {
218 set rx $t1xr($x)
219 lappend aset $t1ra($rx)
220 }
221 puts "do_test $tname-2.$i.$subno.5 \173"
222 puts " db eval \173"
223 puts " SELECT a FROM t1 WHERE rowid $op $r ORDER BY x"
224 puts " \175"
225 puts "\175 {$aset}"
226
227 ################################################################ 2.x.y.10
228 if {abs($r)>9223372036854775808 || [string length $r5]>15} continue
229 set rset {}
230 set aset {}
231 foreach rx $nums2 {
232 if "\$rx $op \$r0" {
233 lappend rset $rx
234 }
235 }
236 foreach rx [sort $rset] {
237 lappend aset $t1ra($rx)
238 }
239 puts "do_test $tname-2.$i.$subno.10 \173"
240 puts " db eval \173"
241 puts " SELECT a FROM t1 WHERE rowid $op $r0 ORDER BY rowid"
242 puts " \175"
243 puts "\175 {$aset}"
244
245 ################################################################ 2.x.y.11
246 set aset {}
247 foreach rx [reverse [sort $rset]] {
248 lappend aset $t1ra($rx)
249 }
250 puts "do_test $tname-2.$i.$subno.11 \173"
251 puts " db eval \173"
252 puts " SELECT a FROM t1 WHERE rowid $op $r0 ORDER BY rowid DESC"
253 puts " \175"
254 puts "\175 {$aset}"
255
256
257 ################################################################ 2.x.y.12
258 set rset {}
259 set aset {}
260 foreach rx $nums2 {
261 if "\$rx $op \$r5" {
262 lappend rset $rx
263 }
264 }
265 foreach rx [sort $rset] {
266 lappend aset $t1ra($rx)
267 }
268 puts "do_test $tname-2.$i.$subno.12 \173"
269 puts " db eval \173"
270 puts " SELECT a FROM t1 WHERE rowid $op $r5 ORDER BY rowid"
271 puts " \175"
272 puts "\175 {$aset}"
273
274 ################################################################ 2.x.y.13
275 set aset {}
276 foreach rx [reverse [sort $rset]] {
277 lappend aset $t1ra($rx)
278 }
279 puts "do_test $tname-2.$i.$subno.13 \173"
280 puts " db eval \173"
281 puts " SELECT a FROM t1 WHERE rowid $op $r5 ORDER BY rowid DESC"
282 puts " \175"
283 puts "\175 {$aset}"
284 }
285
286 }
287
288
289 puts {finish_test}
OLDNEW
« no previous file with comments | « third_party/sqlite/src/test/blob.test ('k') | third_party/sqlite/src/test/boundary1.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698