github.com/jdgcs/sqlite3@v1.12.1-0.20210908114423-bc5f96e4dd51/testdata/tcl/fuzz4.test (about) 1 # 2018-12-12 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 # 12 # Test cases found by Matthew Denton's fuzzer at Chrome. 13 # 14 15 16 set testdir [file dirname $argv0] 17 source $testdir/tester.tcl 18 19 do_execsql_test fuzz4-100 { 20 CREATE TABLE Table0 (Col0 NOT NULL DEFAULT (CURRENT_TIME IS 1 > 1)); 21 INSERT OR REPLACE INTO Table0 DEFAULT VALUES ; 22 SELECT * FROM Table0; 23 } {0} 24 25 do_execsql_test fuzz4-110 { 26 CREATE TABLE Table1( 27 Col0 TEXT DEFAULT (CASE WHEN 1 IS 3530822107858468864 28 THEN 1 ELSE quote(1) IS 3530822107858468864 END) 29 ); 30 INSERT INTO Table1 DEFAULT VALUES; 31 SELECT * FROM Table1; 32 } {0} 33 34 do_execsql_test fuzz4-200 { 35 CREATE TABLE Table2a( 36 Col0 NOT NULL DEFAULT (CURRENT_TIME IS 1 IS NOT 1 > 1) 37 ); 38 INSERT OR REPLACE INTO Table2a DEFAULT VALUES; 39 SELECT * FROM Table2a; 40 } {0} 41 42 do_execsql_test fuzz4-210 { 43 CREATE TABLE Table2b (Col0 NOT NULL DEFAULT (CURRENT_TIME IS NOT FALSE)) ; 44 INSERT OR REPLACE INTO Table2b DEFAULT VALUES ; 45 SELECT * FROM Table2b; 46 } {1} 47 48 do_execsql_test fuzz4-300 { 49 CREATE TABLE Table3 (Col0 DEFAULT (CURRENT_TIMESTAMP BETWEEN 1 AND 1)); 50 INSERT INTO Table3 DEFAULT VALUES; 51 SELECT * FROM Table3; 52 } {0} 53 54 do_execsql_test fuzz4-400 { 55 CREATE TABLE Table4 (Col0 DEFAULT (1 BETWEEN CURRENT_TIMESTAMP AND 1)); 56 INSERT INTO Table4 DEFAULT VALUES; 57 SELECT * FROM Table4; 58 } {0} 59 60 do_execsql_test fuzz4-500 { 61 CREATE TABLE Table5 (Col0 DEFAULT (1 BETWEEN 1 AND CURRENT_TIMESTAMP)); 62 INSERT INTO Table5 DEFAULT VALUES; 63 SELECT * FROM Table5; 64 } {1} 65 66 do_execsql_test fuzz4-600 { 67 CREATE TEMPORARY TABLE Table6( 68 Col0 DEFAULT (CASE x'5d' WHEN 1 THEN 69 CASE CURRENT_TIMESTAMP WHEN 1 THEN 1 ELSE 1 END 70 ELSE CASE WHEN 1 THEN FALSE END END ) 71 ); 72 INSERT INTO temp.Table6 DEFAULT VALUES ; 73 SELECT * FROM Table6; 74 } {0} 75 do_execsql_test fuzz4-610 { 76 WITH TableX AS (SELECT DISTINCT * ORDER BY 1 , 1 COLLATE RTRIM) 77 DELETE FROM Table6 WHERE Col0 || +8388608 ; 78 SELECT * FROM Table6; 79 } {} 80 81 82 finish_test