github.com/jdgcs/sqlite3@v1.12.1-0.20210908114423-bc5f96e4dd51/testdata/tcl/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 fast_secure_delete { 21 set DEFAULT_SECDEL 2 22 } else { 23 ifcapable secure_delete { 24 set DEFAULT_SECDEL 1 25 } 26 } 27 28 29 do_test securedel-1.0 { 30 db eval {PRAGMA secure_delete;} 31 } $DEFAULT_SECDEL 32 33 forcedelete test2.db test2.db-journal 34 do_test securedel-1.1 { 35 db eval { 36 ATTACH 'test2.db' AS db2; 37 PRAGMA main.secure_delete=ON; 38 PRAGMA db2.secure_delete; 39 } 40 } [list 1 $DEFAULT_SECDEL] 41 do_test securedel-1.2 { 42 db eval { 43 PRAGMA main.secure_delete=OFF; 44 PRAGMA db2.secure_delete; 45 } 46 } [list 0 $DEFAULT_SECDEL] 47 do_test securedel-1.3 { 48 db eval { 49 PRAGMA secure_delete=OFF; 50 PRAGMA db2.secure_delete; 51 } 52 } {0 0} 53 do_test securedel-1.4 { 54 db eval { 55 PRAGMA secure_delete=ON; 56 PRAGMA db2.secure_delete; 57 } 58 } {1 1} 59 do_test securedel-1.5 { 60 db eval { 61 PRAGMA secure_delete=FAST; 62 PRAGMA db2.secure_delete; 63 } 64 } {2 2} 65 do_test securedel-1.6 { 66 db eval { 67 PRAGMA secure_delete=ON; 68 PRAGMA db2.secure_delete; 69 } 70 } {1 1} 71 do_test securedel-1.7 { 72 db eval { 73 PRAGMA main.secure_delete=FAST; 74 PRAGMA db2.secure_delete; 75 } 76 } {2 1} 77 do_test securedel-1.8 { 78 db eval { 79 PRAGMA main.secure_delete=ON; 80 PRAGMA db2.secure_delete; 81 } 82 } {1 1} 83 84 do_test securedel-2.1 { 85 db eval { 86 DETACH db2; 87 ATTACH 'test2.db' AS db2; 88 PRAGMA db2.secure_delete; 89 } 90 } 1 91 do_test securedel-2.2 { 92 db eval { 93 DETACH db2; 94 PRAGMA main.secure_delete=OFF; 95 ATTACH 'test2.db' AS db2; 96 PRAGMA db2.secure_delete; 97 } 98 } {0 0} 99 100 finish_test