AryaWu/sqlite
0
1# 2010 January 122#3# The author disclaims copyright to this source code. In place of4# 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 15set testdir [file dirname $argv0]16source $testdir/tester.tcl17 18unset -nocomplain DEFAULT_SECDEL19set DEFAULT_SECDEL 020ifcapable fast_secure_delete {21 set DEFAULT_SECDEL 222} else {23 ifcapable secure_delete {24 set DEFAULT_SECDEL 125 }26}27 28 29do_test securedel-1.0 {30 db eval {PRAGMA secure_delete;}31} $DEFAULT_SECDEL32 33forcedelete test2.db test2.db-journal34do_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]41do_test securedel-1.2 {42 db eval {43 PRAGMA main.secure_delete=OFF;44 PRAGMA db2.secure_delete;45 }46} [list 0 $DEFAULT_SECDEL]47do_test securedel-1.3 {48 db eval {49 PRAGMA secure_delete=OFF;50 PRAGMA db2.secure_delete;51 }52} {0 0}53do_test securedel-1.4 {54 db eval {55 PRAGMA secure_delete=ON;56 PRAGMA db2.secure_delete;57 }58} {1 1}59do_test securedel-1.5 {60 db eval {61 PRAGMA secure_delete=FAST;62 PRAGMA db2.secure_delete;63 }64} {2 2}65do_test securedel-1.6 {66 db eval {67 PRAGMA secure_delete=ON;68 PRAGMA db2.secure_delete;69 }70} {1 1}71do_test securedel-1.7 {72 db eval {73 PRAGMA main.secure_delete=FAST;74 PRAGMA db2.secure_delete;75 }76} {2 1}77do_test securedel-1.8 {78 db eval {79 PRAGMA main.secure_delete=ON;80 PRAGMA db2.secure_delete;81 }82} {1 1}83 84do_test securedel-2.1 {85 db eval {86 DETACH db2;87 ATTACH 'test2.db' AS db2;88 PRAGMA db2.secure_delete;89 }90} 191do_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 100finish_test101 