gitlab.com/CoiaPrant/sqlite3@v1.19.1/testdata/tcl/statfault.test (about)

     1  # 2015 April 28
     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  
    13  set testdir [file dirname $argv0]
    14  source $testdir/tester.tcl
    15  source $testdir/malloc_common.tcl
    16  set testprefix statfault
    17  
    18  ifcapable !vtab||!compound {
    19    finish_test
    20    return
    21  }
    22  
    23  register_dbstat_vtab db
    24  do_execsql_test statfault-1 {
    25    CREATE TABLE t1(a, b UNIQUE);
    26    INSERT INTO t1 VALUES(1, randomblob(500));
    27    INSERT INTO t1 VALUES(randomblob(500), 1);
    28    INSERT INTO t1 VALUES(2, randomblob(250));
    29    INSERT INTO t1 VALUES(randomblob(250), 2);
    30    CREATE VIRTUAL TABLE sss USING dbstat;
    31  } {}
    32  faultsim_save_and_close
    33  
    34  do_faultsim_test 1 -faults * -prep {
    35    faultsim_restore_and_reopen
    36    register_dbstat_vtab db
    37    execsql { SELECT 1 FROM sqlite_master LIMIT 1 }
    38  } -body {
    39    execsql { SELECT count(*) FROM sss }
    40  } -test {
    41    faultsim_test_result {0 8} 
    42  }
    43  
    44  do_faultsim_test 2 -faults * -prep {
    45    faultsim_restore_and_reopen
    46    register_dbstat_vtab db
    47    execsql { SELECT 1 FROM sqlite_master LIMIT 1 }
    48  } -body {
    49    db eval { SELECT * FROM sss } { db eval { SELECT randomblob(5000) } }
    50  } -test {
    51    faultsim_test_result {0 {}} 
    52  }
    53  
    54  finish_test
    55