summaryrefslogtreecommitdiffstats
path: root/test/fuzz4.test
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 14:07:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 14:07:11 +0000
commit63847496f14c813a5d80efd5b7de0f1294ffe1e3 (patch)
tree01c7571c7c762ceee70638549a99834fdd7c411b /test/fuzz4.test
parentInitial commit. (diff)
downloadsqlite3-63847496f14c813a5d80efd5b7de0f1294ffe1e3.tar.xz
sqlite3-63847496f14c813a5d80efd5b7de0f1294ffe1e3.zip
Adding upstream version 3.45.1.upstream/3.45.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test/fuzz4.test')
-rw-r--r--test/fuzz4.test82
1 files changed, 82 insertions, 0 deletions
diff --git a/test/fuzz4.test b/test/fuzz4.test
new file mode 100644
index 0000000..821cd16
--- /dev/null
+++ b/test/fuzz4.test
@@ -0,0 +1,82 @@
+# 2018-12-12
+#
+# The author disclaims copyright to this source code. In place of
+# a legal notice, here is a blessing:
+#
+# May you do good and not evil.
+# May you find forgiveness for yourself and forgive others.
+# May you share freely, never taking more than you give.
+#
+#***********************************************************************
+#
+# Test cases found by Matthew Denton's fuzzer at Chrome.
+#
+
+
+set testdir [file dirname $argv0]
+source $testdir/tester.tcl
+
+do_execsql_test fuzz4-100 {
+ CREATE TABLE Table0 (Col0 NOT NULL DEFAULT (CURRENT_TIME IS 1 > 1));
+ INSERT OR REPLACE INTO Table0 DEFAULT VALUES ;
+ SELECT * FROM Table0;
+} {0}
+
+do_execsql_test fuzz4-110 {
+ CREATE TABLE Table1(
+ Col0 TEXT DEFAULT (CASE WHEN 1 IS 3530822107858468864
+ THEN 1 ELSE quote(1) IS 3530822107858468864 END)
+ );
+ INSERT INTO Table1 DEFAULT VALUES;
+ SELECT * FROM Table1;
+} {0}
+
+do_execsql_test fuzz4-200 {
+ CREATE TABLE Table2a(
+ Col0 NOT NULL DEFAULT (CURRENT_TIME IS 1 IS NOT 1 > 1)
+ );
+ INSERT OR REPLACE INTO Table2a DEFAULT VALUES;
+ SELECT * FROM Table2a;
+} {0}
+
+do_execsql_test fuzz4-210 {
+ CREATE TABLE Table2b (Col0 NOT NULL DEFAULT (CURRENT_TIME IS NOT FALSE)) ;
+ INSERT OR REPLACE INTO Table2b DEFAULT VALUES ;
+ SELECT * FROM Table2b;
+} {1}
+
+do_execsql_test fuzz4-300 {
+ CREATE TABLE Table3 (Col0 DEFAULT (CURRENT_TIMESTAMP BETWEEN 1 AND 1));
+ INSERT INTO Table3 DEFAULT VALUES;
+ SELECT * FROM Table3;
+} {0}
+
+do_execsql_test fuzz4-400 {
+ CREATE TABLE Table4 (Col0 DEFAULT (1 BETWEEN CURRENT_TIMESTAMP AND 1));
+ INSERT INTO Table4 DEFAULT VALUES;
+ SELECT * FROM Table4;
+} {0}
+
+do_execsql_test fuzz4-500 {
+ CREATE TABLE Table5 (Col0 DEFAULT (1 BETWEEN 1 AND CURRENT_TIMESTAMP));
+ INSERT INTO Table5 DEFAULT VALUES;
+ SELECT * FROM Table5;
+} {1}
+
+do_execsql_test fuzz4-600 {
+ CREATE TEMPORARY TABLE Table6(
+ Col0 DEFAULT (CASE x'5d' WHEN 1 THEN
+ CASE CURRENT_TIMESTAMP WHEN 1 THEN 1 ELSE 1 END
+ ELSE CASE WHEN 1 THEN FALSE END END )
+ );
+ INSERT INTO temp.Table6 DEFAULT VALUES ;
+ SELECT * FROM Table6;
+} {0}
+do_execsql_test fuzz4-610 {
+ WITH TableX AS (SELECT DISTINCT * ORDER BY 1 , 1 COLLATE RTRIM)
+ DELETE FROM Table6 WHERE Col0 || +8388608 ;
+ SELECT * FROM Table6;
+} {}
+
+
+finish_test