modernc.org/cc@v1.0.1/v2/testdata/_sqlite/test/mjournal.test (about) 1 # 2017 September 15 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 # This file implements regression tests for SQLite library. 12 # 13 14 set testdir [file dirname $argv0] 15 source $testdir/tester.tcl 16 set testprefix mjournal 17 18 # Test that nothing bad happens if a journal file contains a pointer to 19 # a master journal file that does not have a "-" in the name. At one point 20 # this was causing a segfault on unix. 21 # 22 do_execsql_test 1.0 { 23 CREATE TABLE t1(a, b); 24 } 25 26 do_test 1.1 { 27 forcedelete test.db2journal test.db-journal 28 29 close [open test.db-journal w] 30 31 hexio_write test.db-journal 0 746573742e6462326a6f75726e616c00 32 hexio_write test.db-journal 16 00000010 33 hexio_write test.db-journal 20 000005e1 34 hexio_write test.db-journal 24 d9d505f920a163d7 35 36 close [open test.db2journal w] 37 hexio_write test.db2journal 0 abcd 38 } {2} 39 40 do_execsql_test 1.2 { 41 SELECT * FROM t1; 42 } 43 44 do_test 1.3 { 45 forcedelete test0db2journal test.db-journal 46 close [open test.db-journal w] 47 hexio_write test.db-journal 0 74657374306462326a6f75726e616c00 48 hexio_write test.db-journal 16 00000010 49 hexio_write test.db-journal 20 000005e3 50 hexio_write test.db-journal 24 d9d505f920a163d7 51 52 close [open test0db2journal w] 53 hexio_write test0db2journal 0 abcd 54 } {2} 55 56 do_execsql_test 1.4 { 57 SELECT * FROM t1; 58 } 59 60 # And now test that nothing bad happens if a master journal contains a 61 # pointer to a journal file that does not have a "-" in the name. 62 # 63 do_test 1.5 { 64 forcedelete test.db2-master test.db-journal test1 65 close [open test.db-journal w] 66 hexio_write test.db-journal 0 746573742e6462322d6d617374657200 67 hexio_write test.db-journal 16 00000010 68 hexio_write test.db-journal 20 0000059f 69 hexio_write test.db-journal 24 d9d505f920a163d7 70 71 close [open test.db2-master w] 72 hexio_write test.db2-master 0 746573743100 73 74 close [open test1 w] 75 hexio_write test1 0 abcd 76 } {2} 77 78 do_execsql_test 1.6 { 79 SELECT * FROM t1; 80 } 81 82 83 finish_test