xref: /sqlite-3.40.0/test/checkfault.test (revision 8b65e591)
1# 2019 July 17
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# This file contains fault-injection test cases for the
13# sqlite3_db_cacheflush API.
14#
15
16set testdir [file dirname $argv0]
17source $testdir/tester.tcl
18set testprefix cffault
19source $testdir/malloc_common.tcl
20
21do_execsql_test 1.0 {
22  CREATE TABLE t1 (Col0 CHECK(1 COLLATE BINARY BETWEEN 1 AND 1) ) ;
23  CREATE TABLE t2(b, a CHECK(
24      CASE 'abc' COLLATE nocase WHEN a THEN 1 ELSE 0 END)
25  );
26}
27
28do_faultsim_test 1.1 -faults oom* -body {
29  execsql { INSERT INTO t1 VALUES ('ABCDEFG') }
30} -test {
31  faultsim_test_result {0 {}}
32}
33
34do_faultsim_test 1.2 -faults oom* -body {
35  execsql { INSERT INTO t2(a) VALUES('abc') }
36} -test {
37  faultsim_test_result {0 {}}
38}
39
40
41finish_test
42