1af034ed6Sdrh# 2010 January 12 2af034ed6Sdrh# 3af034ed6Sdrh# The author disclaims copyright to this source code. In place of 4af034ed6Sdrh# a legal notice, here is a blessing: 5af034ed6Sdrh# 6af034ed6Sdrh# May you do good and not evil. 7af034ed6Sdrh# May you find forgiveness for yourself and forgive others. 8af034ed6Sdrh# May you share freely, never taking more than you give. 9af034ed6Sdrh# 10af034ed6Sdrh#************************************************************************* 11af034ed6Sdrh# 12af034ed6Sdrh# Tests for the secure_delete pragma. 13af034ed6Sdrh# 14af034ed6Sdrh 15af034ed6Sdrhset testdir [file dirname $argv0] 16af034ed6Sdrhsource $testdir/tester.tcl 17af034ed6Sdrh 18af034ed6Sdrhunset -nocomplain DEFAULT_SECDEL 19af034ed6Sdrhset DEFAULT_SECDEL 0 20*cb45eef4Sdrhifcapable fast_secure_delete { 21*cb45eef4Sdrh set DEFAULT_SECDEL 2 22*cb45eef4Sdrh} else { 23af034ed6Sdrh ifcapable secure_delete { 24af034ed6Sdrh set DEFAULT_SECDEL 1 25af034ed6Sdrh } 26*cb45eef4Sdrh} 27af034ed6Sdrh 28af034ed6Sdrh 29af034ed6Sdrhdo_test securedel-1.0 { 30af034ed6Sdrh db eval {PRAGMA secure_delete;} 31af034ed6Sdrh} $DEFAULT_SECDEL 32af034ed6Sdrh 33fda06befSmistachkinforcedelete test2.db test2.db-journal 34af034ed6Sdrhdo_test securedel-1.1 { 35af034ed6Sdrh db eval { 36af034ed6Sdrh ATTACH 'test2.db' AS db2; 37af034ed6Sdrh PRAGMA main.secure_delete=ON; 38af034ed6Sdrh PRAGMA db2.secure_delete; 39af034ed6Sdrh } 40af034ed6Sdrh} [list 1 $DEFAULT_SECDEL] 41af034ed6Sdrhdo_test securedel-1.2 { 42af034ed6Sdrh db eval { 43af034ed6Sdrh PRAGMA main.secure_delete=OFF; 44af034ed6Sdrh PRAGMA db2.secure_delete; 45af034ed6Sdrh } 46af034ed6Sdrh} [list 0 $DEFAULT_SECDEL] 47af034ed6Sdrhdo_test securedel-1.3 { 48af034ed6Sdrh db eval { 49af034ed6Sdrh PRAGMA secure_delete=OFF; 50af034ed6Sdrh PRAGMA db2.secure_delete; 51af034ed6Sdrh } 52af034ed6Sdrh} {0 0} 53af034ed6Sdrhdo_test securedel-1.4 { 54af034ed6Sdrh db eval { 55af034ed6Sdrh PRAGMA secure_delete=ON; 56af034ed6Sdrh PRAGMA db2.secure_delete; 57af034ed6Sdrh } 58af034ed6Sdrh} {1 1} 5912ca0fc2Sdrhdo_test securedel-1.5 { 6012ca0fc2Sdrh db eval { 6112ca0fc2Sdrh PRAGMA secure_delete=FAST; 6212ca0fc2Sdrh PRAGMA db2.secure_delete; 6312ca0fc2Sdrh } 6412ca0fc2Sdrh} {2 2} 6512ca0fc2Sdrhdo_test securedel-1.6 { 6612ca0fc2Sdrh db eval { 6712ca0fc2Sdrh PRAGMA secure_delete=ON; 6812ca0fc2Sdrh PRAGMA db2.secure_delete; 6912ca0fc2Sdrh } 7012ca0fc2Sdrh} {1 1} 7112ca0fc2Sdrhdo_test securedel-1.7 { 7212ca0fc2Sdrh db eval { 7312ca0fc2Sdrh PRAGMA main.secure_delete=FAST; 7412ca0fc2Sdrh PRAGMA db2.secure_delete; 7512ca0fc2Sdrh } 7612ca0fc2Sdrh} {2 1} 7712ca0fc2Sdrhdo_test securedel-1.8 { 7812ca0fc2Sdrh db eval { 7912ca0fc2Sdrh PRAGMA main.secure_delete=ON; 8012ca0fc2Sdrh PRAGMA db2.secure_delete; 8112ca0fc2Sdrh } 8212ca0fc2Sdrh} {1 1} 83af034ed6Sdrh 84af034ed6Sdrhdo_test securedel-2.1 { 85af034ed6Sdrh db eval { 86af034ed6Sdrh DETACH db2; 87af034ed6Sdrh ATTACH 'test2.db' AS db2; 88af034ed6Sdrh PRAGMA db2.secure_delete; 89af034ed6Sdrh } 90af034ed6Sdrh} 1 91af034ed6Sdrhdo_test securedel-2.2 { 92af034ed6Sdrh db eval { 93af034ed6Sdrh DETACH db2; 94af034ed6Sdrh PRAGMA main.secure_delete=OFF; 95af034ed6Sdrh ATTACH 'test2.db' AS db2; 96af034ed6Sdrh PRAGMA db2.secure_delete; 97af034ed6Sdrh } 98af034ed6Sdrh} {0 0} 99af034ed6Sdrh 100af034ed6Sdrhfinish_test 101