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