modernc.org/cc@v1.0.1/v2/testdata/_sqlite/test/securedel.test (about) 1 # 2010 January 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 # Tests for the secure_delete pragma. 13 # 14 15 set testdir [file dirname $argv0] 16 source $testdir/tester.tcl 17 18 unset -nocomplain DEFAULT_SECDEL 19 set DEFAULT_SECDEL 0 20 ifcapable secure_delete { 21 set DEFAULT_SECDEL 1 22 } 23 24 25 do_test securedel-1.0 { 26 db eval {PRAGMA secure_delete;} 27 } $DEFAULT_SECDEL 28 29 forcedelete test2.db test2.db-journal 30 do_test securedel-1.1 { 31 db eval { 32 ATTACH 'test2.db' AS db2; 33 PRAGMA main.secure_delete=ON; 34 PRAGMA db2.secure_delete; 35 } 36 } [list 1 $DEFAULT_SECDEL] 37 do_test securedel-1.2 { 38 db eval { 39 PRAGMA main.secure_delete=OFF; 40 PRAGMA db2.secure_delete; 41 } 42 } [list 0 $DEFAULT_SECDEL] 43 do_test securedel-1.3 { 44 db eval { 45 PRAGMA secure_delete=OFF; 46 PRAGMA db2.secure_delete; 47 } 48 } {0 0} 49 do_test securedel-1.4 { 50 db eval { 51 PRAGMA secure_delete=ON; 52 PRAGMA db2.secure_delete; 53 } 54 } {1 1} 55 do_test securedel-1.5 { 56 db eval { 57 PRAGMA secure_delete=FAST; 58 PRAGMA db2.secure_delete; 59 } 60 } {2 2} 61 do_test securedel-1.6 { 62 db eval { 63 PRAGMA secure_delete=ON; 64 PRAGMA db2.secure_delete; 65 } 66 } {1 1} 67 do_test securedel-1.7 { 68 db eval { 69 PRAGMA main.secure_delete=FAST; 70 PRAGMA db2.secure_delete; 71 } 72 } {2 1} 73 do_test securedel-1.8 { 74 db eval { 75 PRAGMA main.secure_delete=ON; 76 PRAGMA db2.secure_delete; 77 } 78 } {1 1} 79 80 do_test securedel-2.1 { 81 db eval { 82 DETACH db2; 83 ATTACH 'test2.db' AS db2; 84 PRAGMA db2.secure_delete; 85 } 86 } 1 87 do_test securedel-2.2 { 88 db eval { 89 DETACH db2; 90 PRAGMA main.secure_delete=OFF; 91 ATTACH 'test2.db' AS db2; 92 PRAGMA db2.secure_delete; 93 } 94 } {0 0} 95 96 finish_test