| Index: third_party/sqlite/sqlite-src-3080704/test/zerodamage.test
|
| diff --git a/third_party/sqlite/sqlite-src-3080704/test/zerodamage.test b/third_party/sqlite/sqlite-src-3080704/test/zerodamage.test
|
| deleted file mode 100644
|
| index dccaba816e6e081e421bf9f338df48537b147356..0000000000000000000000000000000000000000
|
| --- a/third_party/sqlite/sqlite-src-3080704/test/zerodamage.test
|
| +++ /dev/null
|
| @@ -1,121 +0,0 @@
|
| -# 2011 December 21
|
| -#
|
| -# The author disclaims copyright to this source code. In place of
|
| -# a legal notice, here is a blessing:
|
| -#
|
| -# May you do good and not evil.
|
| -# May you find forgiveness for yourself and forgive others.
|
| -# May you share freely, never taking more than you give.
|
| -#
|
| -#***********************************************************************
|
| -#
|
| -# This file implements tests of the SQLITE_IOCAP_POWERSAFE_OVERWRITE property
|
| -# and the SQLITE_FCNTL_POWERSAFE_OVERWRITE file-control for manipulating it.
|
| -#
|
| -# The name of this file comes from the fact that we used to call the
|
| -# POWERSAFE_OVERWRITE property ZERO_DAMAGE.
|
| -#
|
| -
|
| -set testdir [file dirname $argv0]
|
| -source $testdir/tester.tcl
|
| -set testprefix zerodamage
|
| -
|
| -ifcapable !vtab {
|
| - finish_test
|
| - return
|
| -}
|
| -
|
| -# POWERSAFE_OVERWRITE defaults to true
|
| -#
|
| -do_test zerodamage-1.0 {
|
| - file_control_powersafe_overwrite db -1
|
| -} {0 1}
|
| -
|
| -# Check the ability to turn zero-damage on and off.
|
| -#
|
| -do_test zerodamage-1.1 {
|
| - file_control_powersafe_overwrite db 0
|
| - file_control_powersafe_overwrite db -1
|
| -} {0 0}
|
| -do_test zerodamage-1.2 {
|
| - file_control_powersafe_overwrite db 1
|
| - file_control_powersafe_overwrite db -1
|
| -} {0 1}
|
| -
|
| -# Run a transaction with zero-damage on, a small page size and a much larger
|
| -# sectorsize. Verify that the maximum journal size is small - that the
|
| -# rollback journal is not being padded.
|
| -#
|
| -do_test zerodamage-2.0 {
|
| - db close
|
| - testvfs tv -default 1
|
| - tv sectorsize 8192
|
| - sqlite3 db file:test.db?psow=TRUE -uri 1
|
| - unset -nocomplain ::max_journal_size
|
| - set ::max_journal_size 0
|
| - proc xDeleteCallback {method file args} {
|
| - set sz [file size $file]
|
| - if {$sz>$::max_journal_size} {set ::max_journal_size $sz}
|
| - }
|
| - tv filter xDelete
|
| - tv script xDeleteCallback
|
| - load_static_extension db wholenumber
|
| - db eval {
|
| - PRAGMA page_size=1024;
|
| - PRAGMA journal_mode=DELETE;
|
| - PRAGMA cache_size=5;
|
| - CREATE VIRTUAL TABLE nums USING wholenumber;
|
| - CREATE TABLE t1(x, y);
|
| - INSERT INTO t1 SELECT value, randomblob(100) FROM nums
|
| - WHERE value BETWEEN 1 AND 400;
|
| - }
|
| - set ::max_journal_size 0
|
| - db eval {
|
| - UPDATE t1 SET y=randomblob(50) WHERE x=123;
|
| - }
|
| - concat [file_control_powersafe_overwrite db -1] [set ::max_journal_size]
|
| -} {0 1 2576}
|
| -
|
| -# Repeat the previous step with zero-damage turned off. This time the
|
| -# maximum rollback journal size should be much larger.
|
| -#
|
| -do_test zerodamage-2.1 {
|
| - set ::max_journal_size 0
|
| - db close
|
| - sqlite3 db file:test.db?psow=FALSE -uri 1
|
| - db eval {
|
| - UPDATE t1 SET y=randomblob(50) WHERE x=124;
|
| - }
|
| - concat [file_control_powersafe_overwrite db -1] [set ::max_journal_size]
|
| -} {0 0 24704}
|
| -
|
| -ifcapable wal {
|
| - # Run a WAL-mode transaction with POWERSAFE_OVERWRITE on to verify that the
|
| - # WAL file does not get too big.
|
| - #
|
| - do_test zerodamage-3.0 {
|
| - db eval {
|
| - PRAGMA journal_mode=WAL;
|
| - }
|
| - db close
|
| - sqlite3 db file:test.db?psow=TRUE -uri 1
|
| - db eval {
|
| - UPDATE t1 SET y=randomblob(50) WHERE x=124;
|
| - }
|
| - file size test.db-wal
|
| - } {1080}
|
| -
|
| - # Repeat the previous with POWERSAFE_OVERWRITE off. Verify that the WAL file
|
| - # is padded.
|
| - #
|
| - do_test zerodamage-3.1 {
|
| - db close
|
| - sqlite3 db file:test.db?psow=FALSE -uri 1
|
| - db eval {
|
| - UPDATE t1 SET y=randomblob(50) WHERE x=124;
|
| - }
|
| - file size test.db-wal
|
| - } {16800}
|
| -}
|
| -
|
| -finish_test
|
|
|