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

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

Issue 1610963002: Import SQLite 3.10.2. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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
« no previous file with comments | « third_party/sqlite/src/test/memsubsys2.test ('k') | third_party/sqlite/src/test/misc4.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 # 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 #***********************************************************************
11 # This file implements regression tests for SQLite library. 11 # This file implements regression tests for SQLite library.
12 # 12 #
13 # This file implements tests for miscellanous features that were 13 # This file implements tests for miscellanous features that were
14 # left out of other test files. 14 # left out of other test files.
15 # 15 #
16 # $Id: misc1.test,v 1.42 2007/11/05 14:58:23 drh Exp $
17 16
18 set testdir [file dirname $argv0] 17 set testdir [file dirname $argv0]
19 source $testdir/tester.tcl 18 source $testdir/tester.tcl
20 19
21 # Mimic the SQLite 2 collation type NUMERIC. 20 # Mimic the SQLite 2 collation type NUMERIC.
22 db collate numeric numeric_collate 21 db collate numeric numeric_collate
23 proc numeric_collate {lhs rhs} { 22 proc numeric_collate {lhs rhs} {
24 if {$lhs == $rhs} {return 0} 23 if {$lhs == $rhs} {return 0}
25 return [expr ($lhs>$rhs)?1:-1] 24 return [expr ($lhs>$rhs)?1:-1]
26 } 25 }
(...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after
597 # 596 #
598 do_execsql_test misc1-19.1 { 597 do_execsql_test misc1-19.1 {
599 CREATE TABLE t19 AS SELECT 1, 2 AS '', 3; 598 CREATE TABLE t19 AS SELECT 1, 2 AS '', 3;
600 SELECT * FROM t19; 599 SELECT * FROM t19;
601 } {1 2 3} 600 } {1 2 3}
602 do_execsql_test misc1-19.2 { 601 do_execsql_test misc1-19.2 {
603 CREATE TABLE t19b AS SELECT 4 AS '', 5 AS '', 6 AS ''; 602 CREATE TABLE t19b AS SELECT 4 AS '', 5 AS '', 6 AS '';
604 SELECT * FROM t19b; 603 SELECT * FROM t19b;
605 } {4 5 6} 604 } {4 5 6}
606 605
606 # 2015-05-20: CREATE TABLE AS should not store INT value is a TEXT
607 # column.
608 #
609 do_execsql_test misc1-19.3 {
610 CREATE TABLE t19c(x TEXT);
611 CREATE TABLE t19d AS SELECT * FROM t19c UNION ALL SELECT 1234;
612 SELECT x, typeof(x) FROM t19d;
613 } {1234 text}
614
607 # 2014-05-16: Tests for the SQLITE_TESTCTRL_FAULT_INSTALL feature. 615 # 2014-05-16: Tests for the SQLITE_TESTCTRL_FAULT_INSTALL feature.
608 # 616 #
609 unset -nocomplain fault_callbacks 617 unset -nocomplain fault_callbacks
610 set fault_callbacks {} 618 set fault_callbacks {}
611 proc fault_callback {n} { 619 proc fault_callback {n} {
612 lappend ::fault_callbacks $n 620 lappend ::fault_callbacks $n
613 return 0 621 return 0
614 } 622 }
615 do_test misc1-19.1 { 623 do_test misc1-19.1 {
616 sqlite3_test_control_fault_install fault_callback 624 sqlite3_test_control_fault_install fault_callback
617 set fault_callbacks 625 set fault_callbacks
618 } {0} 626 } {0}
619 do_test misc1-19.2 { 627 do_test misc1-19.2 {
620 sqlite3_test_control_fault_install 628 sqlite3_test_control_fault_install
621 set fault_callbacks 629 set fault_callbacks
622 } {0} 630 } {0}
623 631
632 # 2015-01-26: Valgrind-detected over-read.
633 # Reported on sqlite-users@sqlite.org by Michal Zalewski. Found by afl-fuzz
634 # presumably.
635 #
636 do_execsql_test misc1-20.1 {
637 CREATE TABLE t0(x INTEGER DEFAULT(0==0) NOT NULL);
638 REPLACE INTO t0(x) VALUES('');
639 SELECT rowid, quote(x) FROM t0;
640 } {1 ''}
641
642 # 2015-03-22: NULL pointer dereference after a syntax error
643 #
644 do_catchsql_test misc1-21.1 {
645 select''like''like''like#0;
646 } {1 {near "#0": syntax error}}
647 do_catchsql_test misc1-21.2 {
648 VALUES(0,0x0MATCH#0;
649 } {1 {near ";": syntax error}}
650
651 # 2015-04-15
652 do_execsql_test misc1-22.1 {
653 SELECT ""+3 FROM (SELECT ""+5);
654 } {3}
655
656 # 2015-04-19: NULL pointer dereference on a corrupt schema
657 #
658 db close
659 sqlite3 db :memory:
660 do_execsql_test misc1-23.1 {
661 CREATE TABLE t1(x);
662 PRAGMA writable_schema=ON;
663 UPDATE sqlite_master SET sql='CREATE table t(d CHECK(T(#0)';
664 BEGIN;
665 CREATE TABLE t2(y);
666 ROLLBACK;
667 DROP TABLE IF EXISTS t3;
668 } {}
669
670 # 2015-04-19: Faulty assert() statement
671 #
672 db close
673 database_may_be_corrupt
674 sqlite3 db :memory:
675 do_catchsql_test misc1-23.2 {
676 CREATE TABLE t1(x UNIQUE);
677 PRAGMA writable_schema=ON;
678 UPDATE sqlite_master SET sql='CREATE TABLE IF not EXISTS t(c)';
679 BEGIN;
680 CREATE TABLE t2(x);
681 ROLLBACK;
682 DROP TABLE F;
683 } {1 {no such table: F}}
684 db close
685 sqlite3 db :memory:
686 do_catchsql_test misc1-23.3 {
687 CREATE TABLE t1(x UNIQUE);
688 PRAGMA writable_schema=ON;
689 UPDATE sqlite_master SET sql='CREATE table y(a TEXT, a TEXT)';
690 BEGIN;
691 CREATE TABLE t2(y);
692 ROLLBACK;
693 DROP TABLE IF EXISTS t;
694 } {0 {}}
695
696
697 # At one point, running this would read one byte passed the end of a
698 # buffer, upsetting valgrind.
699 #
700 do_test misc1-24.0 {
701 list [catch { sqlite3_prepare_v2 db ! -1 dummy } msg] $msg
702 } {1 {(1) unrecognized token: "!}}
703
704 # The following query (provided by Kostya Serebryany) used to take 25
705 # minutes to prepare. This has been speeded up to about 250 milliseconds.
706 #
707 do_catchsql_test misc1-25.0 {
708 SELECT-1 UNION SELECT 5 UNION SELECT 0 UNION SElECT*from(SELECT-5) UNION SELECT *from(SELECT-0) UNION SELECT:SELECT-0 UNION SELECT-1 UNION SELECT 1 UNION SELEC T 1 ORDER BY S in(WITH K AS(WITH K AS(select'CREINDERcharREADEVIRTUL5TABLECONFL ICT !1 USIN'' MFtOR(b38q,eWITH K AS(selectCREATe TABLE t0(a,b,c,d,e, PRIMARY KEY (a,b,c,d,c,a,b,b,c,d,c,a,b,c,e,c,d,c,a,b,b,c,d,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c,a ,b,c,e,c,d,c,a,b,b,c,d,c,d,c,a,b,c,e,d,d,c,a,b,b,c,c,a,b,b,c,d,c,d,c,a,b,c,e,d,d ,c,a,b,b,c,d,c,d,c,c,d,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c,a,b,c,e,c,d,c,a,b,b,c,a,b ,b,c,d,c,a,c,d,c,d,c,e,d,d,c,a,b,b,c,c,a,b,b,E,d,c,d,c,b,c,d,c,d,c,c,d,c,a,b,c,e ,d,d,c,a,b,b,c,d,c,d,c,a,b,c,e,c,d,c,a,b,b,c,a,b,c,e,d,d,c,a,b,b,c,d,d,c,a,b,c,e ,d,c,d,c,a,b,c,e,c,d,c,a,b,b,c,d,c,a,b,c,e,d,d,c,a,b,b,b,c,e,d,d,c,a,b,b,c,c,a,b ,b,c,d,c,d,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c,c,d,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c,a ,b,c,e,c,d,c,a,b,b,c,d,c,d,c,e,d,d,c,a,b,b,c,c,a,b,b,E,d,c,d,c,b,c,d,c,d,c,c,d,c ,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c,a,b,c,e,c,d'CEIl,k'',ab, g, a,b,o11b, i'nEX/charR EDE IVT LR!VABLt5SG',N ,N in rement,l_vacuum,M&U,'te3(''5l' a,bB,b,l*e)SELECT:S ELECT, *,*,*from(( SELECT
709 $group,:conc ap0,1)fro,(select"",:PBAG,c,a,b,b,c,a,b,c,e,d,d,c,a,b,b,c,d,d,c,a,b ,c,e,d,c,d,c,a,b,c,e,c,d,c,d,c,a,b,b,c,d,c,a,b,c,e,c,d,c,a,b,b,c,d,c,a,b,c,e,d,d ,c,a,b,b,c,d,c,d,c,a,b,c,e,c,d,c,a,b,b,c,d,c,d,c,a,b,c,e,d,d,c,a,b,b,c,c,a,b,b,c ,d,c,d,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c,c,d,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c,a,b,c ,e,d,c,d,c,a,b,c,e,c,d,c,a,b,b,c,d,c,a,b,c,e,d,d,c,a,b,b,b,c,e,d,d,c,a,b,b,c,c,a ,b,b,c,d,c,d,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c,c,d,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c ,a,b,c,e,c,d,c,a,b,b,c,d,c,d,c,e,d,d,c,a,b,b,c,c,a,b,b,E,d,c,d,c,b,c,d,c,d,c,c,d ,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c,a,b,c,e,c,d,c,a,b,b,c,a,b,c,e,d,d,c,a,b,b,c,d,d ,c,a,b,c,e,d,c,d,c,a,b,c,e,c,d,c,d,c,a,b,b,c,d,c,a,b,c,e,c,d,c,a,b,b,c,d,c,a,b,c ,e,d,d,c,a,b,b,c,d,c,d,c,a,b,c,e,c,d,c,a,b,b,c,d,c,d,c,a,b,c,e,d,d,c,a,b,b,c,c,a ,b,b,c,d,c,d,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c,c,d,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c ,a,b,c,e,c,d,c,a,b,b,c,d,c,d,c,e,d,d,c,a,b,b,c,c,a,b,b,E,d,c,d,c,b,c,d,c,d,c,c,d ,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c,a,b,c,e,c,d,c,a,b,b,c,a,b,c,e,d,d,c,a,b,b,c,d,d ,c,a,b,c,e,d,c,d,c,a,b,c,e,c,d,c,a,b,b,c,c,d,c,c,a,a,b,d,d,c,a,b,b,c,d,c,a,b,e,e ,d,b,c,d,c,a,b,b,c,d,c,a,b,c,e,c,d,c,a,b,b,c,d,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c,a ,b,c,e,c,d,c,a,b,b,c,d,c,d,c,a,b,c,e,d,d,c,a,b,b,c,c,a,b,b,c,d,c,d,c,a,b,c,e,d,d ,c,a,b,b,c,d,c,d,c,c,d,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c,a,b,c,e,c,d,c,a,b,b,c,d, foreign_keysc,d,c,e,d,d,c,a,b,b,c,c,a,b,b,E,d,c,d,c,b,c,d,c,d,c,c,d,c,a,b,c,e,d, d,c,a,b,b,c,d,c,d,c,a,a,b,d,d,c,a,b,b,c,d,c,a,b,e,e,d,b,c,d,c,a,b,b,c,d,c,a,b,c, e,c,d,c,a,b,b,c,d,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c,a,b,c,e,c,d,c,a,b,b,c,d,c,d,c, a,b,c,d,c,a,b,c,e,c,d,c,a,b,b,c,d,c,d,c,e,d,d,c,a,b,b,c,c,a,d,c,a,b,c,e,d,d,c,a, b,b,c,d,c,d,c,a,b,c,e,c,d,c,a,b,b,c,d,c,d,c,a,b,c,d,c,a,b,c,e,c,d,c,a,b,b,c,d,c, d,c,e,d,d,c,a,b,b,c,c,a,b,b,E,d,c,d,c,b,c,d,c,d,c,c,d,c,a,b,c,e,d,d,c,a,b,b,c,d, c,d,c,a,b,c,e,c,d,c,a,b,b,c,a,b,c,e,d,d,c,a,b,b,c,d,d,c,a,b,c,e,d,c,d,c,a,b,c,e, c,d,c,a,b,b,c,c,d,c,a,b,d,d,c,a,a,b,d,d,c,a,b,b,c,d,c,a,b,e,e,d,b,c,d,c,a,b,b,c, d,c,a,b,c,e,c,d,c,a,b,b,c,d,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c,a,b,c,e,c,d,c,a,b,b, c,d,c,d,c,a,b,c,e,d,d,c,a,b,b,c,c,a,b,b,c,d,c,d,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c, c,d,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c,a,b,c,e,c,d,c,a,b,b,c,d,c,d,c,e,d,d,c,a,b,b, c,c,a,b,b,E,d,c,d,c,b,c,d,c,d,c,c,d,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c,a,a,b,d,d,c, a,b,b,c,d,c,a,b,e,e,d,b,c,d,c,a,b,b,c,d,c,a,b,c,e,c,d,c,a,b,b,c,d,c,a,b,c,e,d,d, c,a,b,b,c,d,c,d,c,a,b,c,e,c,d,c,a,b,b,c,d,c,d,c,a,b,c,e,d,d,c,a,b,b,c,c,a,b,b,c, d,c,d,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c,c,d,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c,a,b,c, e,c,d,c,a,b,b,c,d,c,d,c,e,d,d,c,a,b,b,c,c,a,b,b,E,d,c,d,c,b,c,d,c,d,c,c,d,c,a,b, c,e,d,d,c,a,b,b,c,d,c,d,c,a,b,c,e,c,d,c,a,b,b,c,a,bb,b,E,d,c,d,c,b,c,d,c,d,c,c,d ,c,a,b,c,e,d,d,c,a,b,b,c,d,c,d,c,a,b,c,e,c,d,c,a,b,b,c,a,b,c,e,d,d,c,a,b,b,c,d,d ,c,a,b,c,e,d,c,d,c,a,b,c,e,c,d,c,a,b,b,c,c,d,c,a,b,d,d,c,a,a,b,d,d,c,a,b,b,c,d,c ,a,b,e,e,d,b,c,d,c,a,b,b,c,d,c,a,b,c,e,c,d,c,a,b,b,c,d,c,a,b,c,e,d,d,c,a,b,b,c,d ,c,d,c,a,b,c,e,c,d,c,a,b,b,c,d,MAato_aecSELEC,+?b," "O,"i","a",""b ,5 ))KEY)SEL ECT*FROM((k()reaC,k,K) eA,k '' )t ,K M);
710 } {1 {'k' is not a function}}
711
712
624 finish_test 713 finish_test
OLDNEW
« no previous file with comments | « third_party/sqlite/src/test/memsubsys2.test ('k') | third_party/sqlite/src/test/misc4.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698