securedel.test 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. set testdir [file dirname $argv0]
  15. source $testdir/tester.tcl
  16. unset -nocomplain DEFAULT_SECDEL
  17. set DEFAULT_SECDEL 0
  18. ifcapable secure_delete {
  19. set DEFAULT_SECDEL 1
  20. }
  21. do_test securedel-1.0 {
  22. db eval {PRAGMA secure_delete;}
  23. } $DEFAULT_SECDEL
  24. forcedelete test2.db test2.db-journal
  25. do_test securedel-1.1 {
  26. db eval {
  27. ATTACH 'test2.db' AS db2;
  28. PRAGMA main.secure_delete=ON;
  29. PRAGMA db2.secure_delete;
  30. }
  31. } [list 1 $DEFAULT_SECDEL]
  32. do_test securedel-1.2 {
  33. db eval {
  34. PRAGMA main.secure_delete=OFF;
  35. PRAGMA db2.secure_delete;
  36. }
  37. } [list 0 $DEFAULT_SECDEL]
  38. do_test securedel-1.3 {
  39. db eval {
  40. PRAGMA secure_delete=OFF;
  41. PRAGMA db2.secure_delete;
  42. }
  43. } {0 0}
  44. do_test securedel-1.4 {
  45. breakpoint
  46. db eval {
  47. PRAGMA secure_delete=ON;
  48. PRAGMA db2.secure_delete;
  49. }
  50. } {1 1}
  51. do_test securedel-2.1 {
  52. db eval {
  53. DETACH db2;
  54. ATTACH 'test2.db' AS db2;
  55. PRAGMA db2.secure_delete;
  56. }
  57. } 1
  58. do_test securedel-2.2 {
  59. db eval {
  60. DETACH db2;
  61. PRAGMA main.secure_delete=OFF;
  62. ATTACH 'test2.db' AS db2;
  63. PRAGMA db2.secure_delete;
  64. }
  65. } {0 0}
  66. finish_test