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

Side by Side Diff: third_party/sqlite/src/test/misc1.test

Issue 901033002: Import SQLite 3.8.7.4. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Chromium changes to support SQLite 3.8.7.4. Created 5 years, 10 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
OLDNEW
1 # 2001 September 15. 1 # 2001 September 15.
2 # 2 #
3 # The author disclaims copyright to this source code. In place of 3 # The author disclaims copyright to this source code. In place of
4 # a legal notice, here is a blessing: 4 # a legal notice, here is a blessing:
5 # 5 #
6 # May you do good and not evil. 6 # May you do good and not evil.
7 # May you find forgiveness for yourself and forgive others. 7 # May you find forgiveness for yourself and forgive others.
8 # May you share freely, never taking more than you give. 8 # May you share freely, never taking more than you give.
9 # 9 #
10 #*********************************************************************** 10 #***********************************************************************
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 execsql { 228 execsql {
229 CREATE TABLE t5(a,b,c,PRIMARY KEY(a,b)); 229 CREATE TABLE t5(a,b,c,PRIMARY KEY(a,b));
230 INSERT INTO t5 VALUES(1,2,3); 230 INSERT INTO t5 VALUES(1,2,3);
231 SELECT * FROM t5 ORDER BY a; 231 SELECT * FROM t5 ORDER BY a;
232 } 232 }
233 } {1 2 3} 233 } {1 2 3}
234 do_test misc1-7.4 { 234 do_test misc1-7.4 {
235 catchsql { 235 catchsql {
236 INSERT INTO t5 VALUES(1,2,4); 236 INSERT INTO t5 VALUES(1,2,4);
237 } 237 }
238 } {1 {columns a, b are not unique}} 238 } {1 {UNIQUE constraint failed: t5.a, t5.b}}
239 do_test misc1-7.5 { 239 do_test misc1-7.5 {
240 catchsql { 240 catchsql {
241 INSERT INTO t5 VALUES(0,2,4); 241 INSERT INTO t5 VALUES(0,2,4);
242 } 242 }
243 } {0 {}} 243 } {0 {}}
244 do_test misc1-7.6 { 244 do_test misc1-7.6 {
245 execsql { 245 execsql {
246 SELECT * FROM t5 ORDER BY a; 246 SELECT * FROM t5 ORDER BY a;
247 } 247 }
248 } {0 2 4 1 2 3} 248 } {0 2 4 1 2 3}
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
465 OR x=(SELECT x FROM t9 WHERE y=10) 465 OR x=(SELECT x FROM t9 WHERE y=10)
466 OR x=(SELECT x FROM t9 WHERE y=11) 466 OR x=(SELECT x FROM t9 WHERE y=11)
467 OR x=(SELECT x FROM t9 WHERE y=12) 467 OR x=(SELECT x FROM t9 WHERE y=12)
468 OR x=(SELECT x FROM t9 WHERE y=13) 468 OR x=(SELECT x FROM t9 WHERE y=13)
469 OR x=(SELECT x FROM t9 WHERE y=14) 469 OR x=(SELECT x FROM t9 WHERE y=14)
470 ; 470 ;
471 } 471 }
472 } {1 2 3 4 5 6 7 8 9 10 11} 472 } {1 2 3 4 5 6 7 8 9 10 11}
473 } 473 }
474 474
475 #
476 # The following tests can only work if the current SQLite VFS has the concept
477 # of a current directory.
478 #
479 ifcapable curdir {
475 # Make sure a database connection still works after changing the 480 # Make sure a database connection still works after changing the
476 # working directory. 481 # working directory.
477 # 482 #
478 do_test misc1-14.1 { 483 do_test misc1-14.1 {
479 file mkdir tempdir 484 file mkdir tempdir
480 cd tempdir 485 cd tempdir
481 execsql {BEGIN} 486 execsql {BEGIN}
482 file exists ./test.db-journal 487 file exists ./test.db-journal
483 } {0} 488 } {0}
484 do_test misc1-14.2a { 489 do_test misc1-14.2a {
485 execsql {UPDATE t1 SET a=a||'x' WHERE 0} 490 execsql {UPDATE t1 SET a=a||'x' WHERE 0}
486 file exists ../test.db-journal 491 file exists ../test.db-journal
487 } {0} 492 } {0}
488 do_test misc1-14.2b { 493 do_test misc1-14.2b {
489 execsql {UPDATE t1 SET a=a||'y' WHERE 1} 494 execsql {UPDATE t1 SET a=a||'y' WHERE 1}
490 file exists ../test.db-journal 495 file exists ../test.db-journal
491 } {1} 496 } {1}
492 do_test misc1-14.3 { 497 do_test misc1-14.3 {
493 cd .. 498 cd ..
494 file delete -force tempdir 499 forcedelete tempdir
495 execsql {COMMIT} 500 execsql {COMMIT}
496 file exists ./test.db-journal 501 file exists ./test.db-journal
497 } {0} 502 } {0}
503 }
498 504
499 # A failed create table should not leave the table in the internal 505 # A failed create table should not leave the table in the internal
500 # data structures. Ticket #238. 506 # data structures. Ticket #238.
501 # 507 #
502 do_test misc1-15.1.1 { 508 do_test misc1-15.1.1 {
503 catchsql { 509 catchsql {
504 CREATE TABLE t10 AS SELECT c1; 510 CREATE TABLE t10 AS SELECT c1;
505 } 511 }
506 } {1 {no such column: c1}} 512 } {1 {no such column: c1}}
507 do_test misc1-15.1.2 { 513 do_test misc1-15.1.2 {
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
579 SELECT TestString FROM RealTable ORDER BY 1; 585 SELECT TestString FROM RealTable ORDER BY 1;
580 } 586 }
581 } {2 3} 587 } {2 3}
582 } 588 }
583 589
584 do_test misc1-18.1 { 590 do_test misc1-18.1 {
585 set n [sqlite3_sleep 100] 591 set n [sqlite3_sleep 100]
586 expr {$n>=100} 592 expr {$n>=100}
587 } {1} 593 } {1}
588 594
595 # 2014-01-10: In a CREATE TABLE AS, if one or more of the column names
596 # are an empty string, that is still OK.
597 #
598 do_execsql_test misc1-19.1 {
599 CREATE TABLE t19 AS SELECT 1, 2 AS '', 3;
600 SELECT * FROM t19;
601 } {1 2 3}
602 do_execsql_test misc1-19.2 {
603 CREATE TABLE t19b AS SELECT 4 AS '', 5 AS '', 6 AS '';
604 SELECT * FROM t19b;
605 } {4 5 6}
606
607 # 2014-05-16: Tests for the SQLITE_TESTCTRL_FAULT_INSTALL feature.
608 #
609 unset -nocomplain fault_callbacks
610 set fault_callbacks {}
611 proc fault_callback {n} {
612 lappend ::fault_callbacks $n
613 return 0
614 }
615 do_test misc1-19.1 {
616 sqlite3_test_control_fault_install fault_callback
617 set fault_callbacks
618 } {0}
619 do_test misc1-19.2 {
620 sqlite3_test_control_fault_install
621 set fault_callbacks
622 } {0}
623
589 finish_test 624 finish_test
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698