/
niceSOFT
/
sqlite
Обзор
Документация
Войти
/
niceSOFT
/
sqlite
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
patch-release
test/tkt1667.test
83 строки
2 KB
mistachkin
Add retry logic for AV defense to winOpen. Also, refactor test suite to allow the key Tcl file operations (e.g. copy and delete) to be retried.
02 авг 2011, 04:57
02 авг 2011, 04:57
fda06be
Код
Авторство
О чём код?
# 2006 February 10 # # 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 regression tests for SQLite library. # # This file implements tests to verify that ticket #1667 has been # fixed. # # # $Id: tkt1667.test,v 1.4 2009/02/05 17:00:54 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl ifcapable !autovacuum||!tclvar { finish_test return } db close forcedelete test.db test.db-journal # Set the pending byte offset such that the page it is on is # the first autovacuum pointer map page in the file (assume a page # size of 1024). set first_ptrmap_page [expr 1024/5 + 3] sqlite3_test_control_pending_byte [expr 1024 * ($first_ptrmap_page-1)] sqlite3 db test.db do_test tkt1667-1 { execsql { PRAGMA auto_vacuum = 1; BEGIN; CREATE TABLE t1(a, b); } for {set i 0} {$i < 500} {incr i} { execsql { INSERT INTO t1 VALUES($i, randstr(1000, 2000)) } } execsql { COMMIT; } } {} for {set i 0} {$i < 500} {incr i} { do_test tkt1667-2.$i.1 { execsql { DELETE FROM t1 WHERE a = $i; } } {} integrity_check tkt1667-2.$i.2 } do_test tkt1667-3 { execsql { BEGIN; } for {set i 0} {$i < 500} {incr i} { execsql { INSERT INTO t1 VALUES($i, randstr(1000, 2000)) } } execsql { COMMIT; } } {} do_test tkt1667-4.1 { execsql { DELETE FROM t1; } } {} integrity_check tkt1667-4.2 finish_test