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

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

Issue 6990047: Import SQLite 3.7.6.3. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 7 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/src/test/capi3b.test ('k') | third_party/sqlite/src/test/capi3d.test » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # 2006 November 08 1 # 2006 November 08
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 #***********************************************************************
11 # This file implements regression tests for SQLite library. 11 # This file implements regression tests for SQLite library.
12 # 12 #
13 # This is a copy of the capi3.test file that has been adapted to 13 # This is a copy of the capi3.test file that has been adapted to
14 # test the new sqlite3_prepare_v2 interface. 14 # test the new sqlite3_prepare_v2 interface.
15 # 15 #
16 # $Id: capi3c.test,v 1.23 2009/07/22 07:27:57 danielk1977 Exp $ 16 # $Id: capi3c.test,v 1.23 2009/07/22 07:27:57 danielk1977 Exp $
17 # 17 #
18 18
19 set testdir [file dirname $argv0] 19 set testdir [file dirname $argv0]
20 source $testdir/tester.tcl 20 source $testdir/tester.tcl
21 21
22 # Do not use a codec for tests in this file, as the database file is
23 # manipulated directly using tcl scripts (using the [hexio_write] command).
24 #
25 do_not_use_codec
26
22 # Return the UTF-16 representation of the supplied UTF-8 string $str. 27 # Return the UTF-16 representation of the supplied UTF-8 string $str.
23 # If $nt is true, append two 0x00 bytes as a nul terminator. 28 # If $nt is true, append two 0x00 bytes as a nul terminator.
24 proc utf16 {str {nt 1}} { 29 proc utf16 {str {nt 1}} {
25 set r [encoding convertto unicode $str] 30 set r [encoding convertto unicode $str]
26 if {$nt} { 31 if {$nt} {
27 append r "\x00\x00" 32 append r "\x00\x00"
28 } 33 }
29 return $r 34 return $r
30 } 35 }
31 36
(...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after
599 sqlite3_finalize $STMT 604 sqlite3_finalize $STMT
600 } SQLITE_OK 605 } SQLITE_OK
601 606
602 607
603 set ::ENC [execsql {pragma encoding}] 608 set ::ENC [execsql {pragma encoding}]
604 db close 609 db close
605 610
606 do_test capi3c-6.0 { 611 do_test capi3c-6.0 {
607 sqlite3 db test.db 612 sqlite3 db test.db
608 set DB [sqlite3_connection_pointer db] 613 set DB [sqlite3_connection_pointer db]
609 sqlite3_key $DB xyzzy 614 if {[sqlite3 -has-codec]==0} { sqlite3_key $DB xyzzy }
610 set sql {SELECT a FROM t1 order by rowid} 615 set sql {SELECT a FROM t1 order by rowid}
611 set STMT [sqlite3_prepare_v2 $DB $sql -1 TAIL] 616 set STMT [sqlite3_prepare_v2 $DB $sql -1 TAIL]
612 expr 0 617 expr 0
613 } {0} 618 } {0}
614 do_test capi3c-6.1 { 619 do_test capi3c-6.1 {
615 db cache flush 620 db cache flush
616 sqlite3_close $DB 621 sqlite3_close $DB
617 } {SQLITE_BUSY} 622 } {SQLITE_BUSY}
618 do_test capi3c-6.2 { 623 do_test capi3c-6.2 {
619 sqlite3_step $STMT 624 sqlite3_step $STMT
(...skipping 26 matching lines...) Expand all
646 proc get_file_format {{fname test.db}} { 651 proc get_file_format {{fname test.db}} {
647 return [hexio_get_int [hexio_read $fname 44 4]] 652 return [hexio_get_int [hexio_read $fname 44 4]]
648 } 653 }
649 654
650 if {![sqlite3 -has-codec]} { 655 if {![sqlite3 -has-codec]} {
651 # Test what happens when the library encounters a newer file format. 656 # Test what happens when the library encounters a newer file format.
652 do_test capi3c-7.1 { 657 do_test capi3c-7.1 {
653 set_file_format 5 658 set_file_format 5
654 } {} 659 } {}
655 do_test capi3c-7.2 { 660 do_test capi3c-7.2 {
656 sqlite3 db test.db 661 catch { sqlite3 db test.db }
657 catchsql { 662 catchsql {
658 SELECT * FROM sqlite_master; 663 SELECT * FROM sqlite_master;
659 } 664 }
660 } {1 {unsupported file format}} 665 } {1 {unsupported file format}}
661 db close 666 db close
662 } 667 }
663 668
664 if {![sqlite3 -has-codec]} { 669 if {![sqlite3 -has-codec]} {
665 # Now test that the library correctly handles bogus entries in the 670 # Now test that the library correctly handles bogus entries in the
666 # sqlite_master table (schema corruption). 671 # sqlite_master table (schema corruption).
667 do_test capi3c-8.1 { 672 do_test capi3c-8.1 {
668 file delete -force test.db test.db-journal 673 file delete -force test.db test.db-journal
669 sqlite3 db test.db 674 sqlite3 db test.db
670 execsql { 675 execsql {
671 CREATE TABLE t1(a); 676 CREATE TABLE t1(a);
672 } 677 }
673 db close 678 db close
674 } {} 679 } {}
675 do_test capi3c-8.2 { 680 do_test capi3c-8.2 {
676 sqlite3 db test.db 681 sqlite3 db test.db
677 execsql { 682 execsql {
678 PRAGMA writable_schema=ON; 683 PRAGMA writable_schema=ON;
679 INSERT INTO sqlite_master VALUES(NULL,NULL,NULL,NULL,NULL); 684 INSERT INTO sqlite_master VALUES(NULL,NULL,NULL,NULL,NULL);
680 } 685 }
681 db close 686 db close
682 } {} 687 } {}
683 do_test capi3c-8.3 { 688 do_test capi3c-8.3 {
684 sqlite3 db test.db 689 catch { sqlite3 db test.db }
685 catchsql { 690 catchsql {
686 SELECT * FROM sqlite_master; 691 SELECT * FROM sqlite_master;
687 } 692 }
688 } {1 {malformed database schema (?)}} 693 } {1 {malformed database schema (?)}}
689 do_test capi3c-8.4 { 694 do_test capi3c-8.4 {
690 # Build a 5-field row record. The first field is a string 'table', and 695 # Build a 5-field row record. The first field is a string 'table', and
691 # subsequent fields are all NULL. 696 # subsequent fields are all NULL.
692 db close 697 db close
693 file delete -force test.db test.db-journal 698 file delete -force test.db test.db-journal
694 sqlite3 db test.db 699 sqlite3 db test.db
695 execsql { 700 execsql {
696 CREATE TABLE t1(a); 701 CREATE TABLE t1(a);
697 PRAGMA writable_schema=ON; 702 PRAGMA writable_schema=ON;
698 INSERT INTO sqlite_master VALUES('table',NULL,NULL,NULL,NULL); 703 INSERT INTO sqlite_master VALUES('table',NULL,NULL,NULL,NULL);
699 } 704 }
700 db close 705 db close
701 } {}; 706 } {};
702 do_test capi3c-8.5 { 707 do_test capi3c-8.5 {
703 sqlite3 db test.db 708 catch { sqlite3 db test.db }
704 catchsql { 709 catchsql {
705 SELECT * FROM sqlite_master; 710 SELECT * FROM sqlite_master;
706 } 711 }
707 } {1 {malformed database schema (?)}} 712 } {1 {malformed database schema (?)}}
708 db close 713 db close
709 } 714 }
710 file delete -force test.db 715 file delete -force test.db
711 file delete -force test.db-journal 716 file delete -force test.db-journal
712 717
713 718
(...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after
1169 do_test capi3c-19.2 { 1174 do_test capi3c-19.2 {
1170 sqlite3_column_int $STMT 0 1175 sqlite3_column_int $STMT 0
1171 } 1 1176 } 1
1172 do_test capi3c-19.3 { 1177 do_test capi3c-19.3 {
1173 sqlite3_step $STMT 1178 sqlite3_step $STMT
1174 } SQLITE_DONE 1179 } SQLITE_DONE
1175 do_test capi3c-19.4 { 1180 do_test capi3c-19.4 {
1176 sqlite3_reset $STMT 1181 sqlite3_reset $STMT
1177 db eval {DROP TABLE t3} 1182 db eval {DROP TABLE t3}
1178 sqlite3_step $STMT 1183 sqlite3_step $STMT
1179 } SQLITE_SCHEMA 1184 } SQLITE_ERROR
1180 do_test capi3c-19.4.1 { 1185 do_test capi3c-19.4.1 {
1181 sqlite3_errmsg $DB 1186 sqlite3_errmsg $DB
1182 } {no such table: t3} 1187 } {no such table: t3}
1183 ifcapable deprecated { 1188 ifcapable deprecated {
1184 do_test capi3c-19.4.2 { 1189 do_test capi3c-19.4.2 {
1185 sqlite3_expired $STMT 1190 sqlite3_expired $STMT
1186 } 1 1191 } 1
1187 } 1192 }
1188 do_test capi3c-19.4.3 { 1193 do_test capi3c-19.4.3 {
1189 sqlite3_errmsg $DB 1194 sqlite3_errmsg $DB
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
1349 decltype { 1354 decltype {
1350 SELECT (SELECT x FROM (SELECT c AS x)) 1355 SELECT (SELECT x FROM (SELECT c AS x))
1351 FROM (SELECT * FROM t5 ORDER BY c LIMIT 1) ORDER BY b 1356 FROM (SELECT * FROM t5 ORDER BY c LIMIT 1) ORDER BY b
1352 } 1357 }
1353 } {DATETIME} 1358 } {DATETIME}
1354 do_test capi3c-24.3 { 1359 do_test capi3c-24.3 {
1355 decltype {SELECT (SELECT x FROM (SELECT t5.a AS x)) FROM t5} 1360 decltype {SELECT (SELECT x FROM (SELECT t5.a AS x)) FROM t5}
1356 } {INTEGER} 1361 } {INTEGER}
1357 1362
1358 finish_test 1363 finish_test
OLDNEW
« no previous file with comments | « third_party/sqlite/src/test/capi3b.test ('k') | third_party/sqlite/src/test/capi3d.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698