Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | More testing (CVS 209) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
3bde128418fe70a2fd62bf9e01399982 |
User & Date: | drh 2001-04-12 23:21:59.000 |
Context
2001-04-14
| ||
16:38 | Getting ready to redo the journal file format. (CVS 210) (check-in: 42c2f3fe68 user: drh tags: trunk) | |
2001-04-12
| ||
23:21 | More testing (CVS 209) (check-in: 3bde128418 user: drh tags: trunk) | |
2001-04-11
| ||
14:29 | :-) (CVS 208) (check-in: 555351dd19 user: drh tags: trunk) | |
Changes
Changes to test/all.test.
︙ | ︙ | |||
18 19 20 21 22 23 24 | # Author contact information: # drh@hwaci.com # http://www.hwaci.com/drh/ # #*********************************************************************** # This file runs all tests. # | | | | 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 | # Author contact information: # drh@hwaci.com # http://www.hwaci.com/drh/ # #*********************************************************************** # This file runs all tests. # # $Id: all.test,v 1.7 2001/04/12 23:21:59 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl rename finish_test really_finish_test proc finish_test {} {memleak_check} if {[file exists ./sqlite_test_count]} { set COUNT [exec cat ./sqlite_test_count] } else { set COUNT 3 } if {[file exists ./sqlite_test_prefixes]} { set PREFIXES [exec cat ./sqlite_test_prefixes] } else { set PREFIXES {memory: gdbm:} } |
︙ | ︙ | |||
77 78 79 80 81 82 83 | break } } puts " Ok" } if {[file readable $testdir/malloc.test]} { | < | | | < | 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | break } } puts " Ok" } if {[file readable $testdir/malloc.test]} { foreach p $PREFIXES { set dbprefix $p source $testdir/malloc.test } } really_finish_test |
Changes to test/malloc.test.
︙ | ︙ | |||
22 23 24 25 26 27 28 | #*********************************************************************** # This file attempts to check the library in an out-of-memory situation. # When compiled with -DMEMORY_DEBUG=1, the SQLite library accepts a special # command (--malloc-fail=N) which causes the N-th malloc to fail. This # special feature is used to see what happens in the library if a malloc # were to really fail due to an out-of-memory situation. # | | | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #*********************************************************************** # This file attempts to check the library in an out-of-memory situation. # When compiled with -DMEMORY_DEBUG=1, the SQLite library accepts a special # command (--malloc-fail=N) which causes the N-th malloc to fail. This # special feature is used to see what happens in the library if a malloc # were to really fail due to an out-of-memory situation. # # $Id: malloc.test,v 1.2 2001/04/12 23:21:59 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl # Only run these tests if memory debugging is turned on. # if {[info command sqlite_malloc_fail]==""} { |
︙ | ︙ | |||
49 50 51 52 53 54 55 | a int, b float, c double, d text, e varchar(20), primary key(a,b,c) ); CREATE INDEX i1 ON t1(a,b); INSERT INTO t1 VALUES(1,2.3,4.5,'hi','there'); INSERT INTO t1 VALUES(6,7.0,0.8,'hello','out yonder'); SELECT * FROM t1; | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | a int, b float, c double, d text, e varchar(20), primary key(a,b,c) ); CREATE INDEX i1 ON t1(a,b); INSERT INTO t1 VALUES(1,2.3,4.5,'hi','there'); INSERT INTO t1 VALUES(6,7.0,0.8,'hello','out yonder'); SELECT * FROM t1; SELECT avg(b) FROM t1 GROUP BY a HAVING b>20.0; DELETE FROM t1 WHERE a==6; SELECT count(*) FROM t1; }} msg] if {[lindex [sqlite_malloc_stat] 2]>0} { set ::go 0 set v {1 1} } else { lappend v [expr {$msg=="" || $msg=="out of memory"}] } } {1 1} } set fd [open ./data.tmp w] for {set i 1} {$i<=40} {incr i} { puts $fd "$i\t[expr {$i*$i}]\t[expr {100-$i}]" } close $fd for {set go 1; set i 1} {$go} {incr i} { do_test malloc-2.$i { sqlite_malloc_fail 0 catch {execsql {DROP TABLE t1}} sqlite_malloc_fail $i set v [catch {execsql { CREATE TABLE t1(a int, b int, c int); CREATE INDEX i1 ON t1(a,b); COPY t1 FROM 'data.tmp'; SELECT 'stuff', count(*) as 'other stuff' FROM t1; UPDATE t1 SET b=a WHERE a in (10,12,22); DROP INDEX i1; VACUUM t1; }} msg] if {[lindex [sqlite_malloc_stat] 2]>0} { set ::go 0 set v {1 1} } else { lappend v [expr {$msg=="" || $msg=="out of memory"}] } } {1 1} } sqlite_malloc_fail 0 finish_test |
Changes to test/select1.test.
︙ | ︙ | |||
19 20 21 22 23 24 25 | # drh@hwaci.com # http://www.hwaci.com/drh/ # #*********************************************************************** # This file implements regression tests for SQLite library. The # focus of this file is testing the SELECT statement. # | | | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | # drh@hwaci.com # http://www.hwaci.com/drh/ # #*********************************************************************** # This file implements regression tests for SQLite library. The # focus of this file is testing the SELECT statement. # # $Id: select1.test,v 1.9 2001/04/12 23:21:59 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl # Try to select on a non-existant table. # do_test select1-1.1 { |
︙ | ︙ | |||
254 255 256 257 258 259 260 261 262 263 264 265 266 267 | set v [catch {execsql2 {SELECT f1 as xyzzy FROM test1 ORDER BY f2}} msg] lappend v $msg } {0 {xyzzy 11 xyzzy 33}} do_test select1-6.3 { set v [catch {execsql2 {SELECT f1 as "xyzzy" FROM test1 ORDER BY f2}} msg] lappend v $msg } {0 {xyzzy 11 xyzzy 33}} do_test select1-6.4 { set v [catch {execsql2 {SELECT f1+F2 as xyzzy FROM test1 ORDER BY f2}} msg] lappend v $msg } {0 {xyzzy 33 xyzzy 77}} do_test select1-6.4a { set v [catch {execsql2 {SELECT f1+F2 FROM test1 ORDER BY f2}} msg] lappend v $msg | > > > > | 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 | set v [catch {execsql2 {SELECT f1 as xyzzy FROM test1 ORDER BY f2}} msg] lappend v $msg } {0 {xyzzy 11 xyzzy 33}} do_test select1-6.3 { set v [catch {execsql2 {SELECT f1 as "xyzzy" FROM test1 ORDER BY f2}} msg] lappend v $msg } {0 {xyzzy 11 xyzzy 33}} do_test select1-6.3.1 { set v [catch {execsql2 {SELECT f1 as 'xyzzy ' FROM test1 ORDER BY f2}} msg] lappend v $msg } {0 {{xyzzy } 11 {xyzzy } 33}} do_test select1-6.4 { set v [catch {execsql2 {SELECT f1+F2 as xyzzy FROM test1 ORDER BY f2}} msg] lappend v $msg } {0 {xyzzy 33 xyzzy 77}} do_test select1-6.4a { set v [catch {execsql2 {SELECT f1+F2 FROM test1 ORDER BY f2}} msg] lappend v $msg |
︙ | ︙ | |||
310 311 312 313 314 315 316 317 318 | do_test select1-6.11 { set v [catch {execsql2 { SELECT f1 FROM test1 UNION SELECT f2+100 FROM test1 ORDER BY f2+100; }} msg] lappend v $msg } {0 {f2+100 11 f2+100 33 f2+100 122 f2+100 144}} finish_test | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 | do_test select1-6.11 { set v [catch {execsql2 { SELECT f1 FROM test1 UNION SELECT f2+100 FROM test1 ORDER BY f2+100; }} msg] lappend v $msg } {0 {f2+100 11 f2+100 33 f2+100 122 f2+100 144}} do_test select1-7.1 { set v [catch {execsql { SELECT f1 FROM test1 WHERE f2=; }} msg] lappend v $msg } {1 {near ";": syntax error}} do_test select1-7.2 { set v [catch {execsql { SELECT f1 FROM test1 UNION SELECT WHERE; }} msg] lappend v $msg } {1 {near "WHERE": syntax error}} do_test select1-7.3 { set v [catch {execsql {SELECT f1 FROM test1 as 'hi', test2 as}} msg] lappend v $msg } {1 {near "as": syntax error}} do_test select1-7.4 { set v [catch {execsql { SELECT f1 FROM test1 ORDER BY; }} msg] lappend v $msg } {1 {near ";": syntax error}} do_test select1-7.5 { set v [catch {execsql { SELECT f1 FROM test1 ORDER BY f1 desc, f2 where; }} msg] lappend v $msg } {1 {near "where": syntax error}} do_test select1-7.6 { set v [catch {execsql { SELECT count(f1,f2 FROM test1; }} msg] lappend v $msg } {1 {near "FROM": syntax error}} do_test select1-7.7 { set v [catch {execsql { SELECT count(f1,f2+) FROM test1; }} msg] lappend v $msg } {1 {near ")": syntax error}} do_test select1-7.8 { set v [catch {execsql { SELECT f1 FROM test1 ORDER BY f2, f1+; }} msg] lappend v $msg } {1 {near ";": syntax error}} do_test select1-8.1 { execsql {SELECT f1 FROM test1 WHERE 4.3+2.4 OR 1 ORDER BY f1} } {11 33} do_test select1-8.2 { execsql { SELECT f1 FROM test1 WHERE ('x' || f1) BETWEEN 'x10' AND 'x20' ORDER BY f1 } } {11} do_test select1-8.3 { execsql { SELECT f1 FROM test1 WHERE 5-3==2 ORDER BY f1 } } {11 33} do_test select1-8.4 { execsql { SELECT f1/(f1-11), min(f1/(f1-11),5), max(f1/(f1-33),6) FROM test1 ORDER BY f1 } } {{} 5 6 1.5 1.5 6} do_test select1-8.5 { execsql { SELECT min(1,2,3), -max(1,2,3) FROM test1 ORDER BY f1 } } {1 -3 1 -3} finish_test |
Changes to test/table.test.
︙ | ︙ | |||
19 20 21 22 23 24 25 | # drh@hwaci.com # http://www.hwaci.com/drh/ # #*********************************************************************** # This file implements regression tests for SQLite library. The # focus of this file is testing the CREATE TABLE statement. # | | | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | # drh@hwaci.com # http://www.hwaci.com/drh/ # #*********************************************************************** # This file implements regression tests for SQLite library. The # focus of this file is testing the CREATE TABLE statement. # # $Id: table.test,v 1.9 2001/04/12 23:21:59 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl # Create a basic table and verify it is added to sqlite_master # do_test table-1.1 { |
︙ | ︙ | |||
309 310 311 312 313 314 315 | do_test table-7.1 { set v [catch {execsql { CREATE TABLE weird( desc text, asc text, explain int, vacuum boolean, | | > > | | | | 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 | do_test table-7.1 { set v [catch {execsql { CREATE TABLE weird( desc text, asc text, explain int, vacuum boolean, delimiters varchar(10), begin blob, end clob ) }} msg] lappend v $msg } {0 {}} do_test table-7.2 { execsql { INSERT INTO weird VALUES('a','b',9,0,'xyz','hi','y''all'); SELECT * FROM weird; } } {a b 9 0 xyz hi y'all} do_test table-7.3 { execsql2 { SELECT * FROM weird; } } {desc a asc b explain 9 vacuum 0 delimiters xyz begin hi end y'all} finish_test |
Changes to test/trans.test.
︙ | ︙ | |||
19 20 21 22 23 24 25 | # drh@hwaci.com # http://www.hwaci.com/drh/ # #*********************************************************************** # This file implements regression tests for SQLite library. The # focus of this script is database locks. # | | | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | # drh@hwaci.com # http://www.hwaci.com/drh/ # #*********************************************************************** # This file implements regression tests for SQLite library. The # focus of this script is database locks. # # $Id: trans.test,v 1.2 2001/04/12 23:21:59 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl if {$dbprefix=="gdbm:" && $::tcl_platform(platform)!="windows"} { |
︙ | ︙ | |||
173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 | } {0 {1 4 5 10}} do_test trans-3.14 { set v [catch {execsql { SELECT a FROM one ORDER BY a; } db} msg] lappend v $msg } {0 {1 2 3 4}} do_test trans-99.1 { altdb close execsql { DROP TABLE one; DROP TABLE two; } } {} finish_test } ;# end if(gdbm and not windows) | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 | } {0 {1 4 5 10}} do_test trans-3.14 { set v [catch {execsql { SELECT a FROM one ORDER BY a; } db} msg] lappend v $msg } {0 {1 2 3 4}} do_test trans-4.1 { set v [catch {execsql { COMMIT; } db} msg] lappend v $msg } {0 {}} do_test trans-4.2 { set v [catch {execsql { ROLLBACK; } db} msg] lappend v $msg } {0 {}} do_test trans-4.3 { set v [catch {execsql { BEGIN TRANSACTION; SELECT a FROM two ORDER BY a; } db} msg] lappend v $msg } {0 {1 4 5 10}} do_test trans-4.4 { set v [catch {execsql { SELECT a FROM two ORDER BY a; } altdb} msg] lappend v $msg } {1 {table two is locked}} do_test trans-4.5 { set v [catch {execsql { SELECT a FROM one ORDER BY a; } altdb} msg] lappend v $msg } {0 {1 2 3 4}} do_test trans-4.6 { set v [catch {execsql { BEGIN TRANSACTION; SELECT a FROM one ORDER BY a; } db} msg] lappend v $msg } {0 {1 2 3 4}} do_test trans-4.7 { set v [catch {execsql { SELECT a FROM two ORDER BY a; } altdb} msg] lappend v $msg } {1 {table two is locked}} do_test trans-4.8 { set v [catch {execsql { SELECT a FROM one ORDER BY a; } altdb} msg] lappend v $msg } {1 {table one is locked}} do_test trans-4.9 { set v [catch {execsql { END TRANSACTION; SELECT a FROM two ORDER BY a; } db} msg] lappend v $msg } {0 {1 4 5 10}} do_test trans-4.10 { set v [catch {execsql { SELECT a FROM two ORDER BY a; } altdb} msg] lappend v $msg } {0 {1 4 5 10}} do_test trans-4.11 { set v [catch {execsql { SELECT a FROM one ORDER BY a; } altdb} msg] lappend v $msg } {0 {1 2 3 4}} do_test trans-99.1 { altdb close execsql { DROP TABLE one; DROP TABLE two; } } {} finish_test } ;# end if(gdbm and not windows) |
Changes to www/changes.tcl.
︙ | ︙ | |||
13 14 15 16 17 18 19 | proc chng {date desc} { puts "<DT><B>$date</B></DT>" puts "<DD><P><UL>$desc</UL></P></DD>" } | | | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | proc chng {date desc} { puts "<DT><B>$date</B></DT>" puts "<DD><P><UL>$desc</UL></P></DD>" } chng {2001 Apr 12 (1.0.31)} { <li>More robust handling of out-of-memory errors.</li> <li>New tests added to the test suite.</li> } chng {2001 Apr 6 (1.0.30)} { <li>Remove the <b>sqlite_encoding</b> TCL variable that was introduced in the previous version.</li> |
︙ | ︙ |