/
clang
/
sqlite
Обзор
Документация
Войти
/
clang
/
sqlite
Код
Вики
Пакеты
0
Релизы
0
Аналитика
patch-release
test/async3.test
76 строк
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
Код
Авторство
О чём код?
# 2007 September 5 # # 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. # #*********************************************************************** # # The focus of this file is testing the code in test_async.c. # Specifically, it tests that the xFullPathname() method of # of the asynchronous vfs works correctly. # # $Id: async3.test,v 1.5 2009/04/25 08:39:15 danielk1977 Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl if { [info commands sqlite3async_initialize]=="" } { # The async logic is not built into this system puts "Skipping async3 tests: not compiled with required features" finish_test return } db close sqlite3async_initialize "" 1 #set sqlite3async_trace 1 sqlite3async_start set paths { chocolate/banana/vanilla/file.db chocolate//banana/vanilla/file.db chocolate/./banana//vanilla/file.db chocolate/banana/./vanilla/file.db chocolate/banana/../banana/vanilla/file.db chocolate/banana/./vanilla/extra_bit/../file.db } do_test async3-1.0 { file mkdir [file join chocolate banana vanilla] forcedelete chocolate/banana/vanilla/file.db forcedelete chocolate/banana/vanilla/file.db-journal } {} do_test async3-1.1 { sqlite3 db chocolate/banana/vanilla/file.db execsql { CREATE TABLE abc(a, b, c); BEGIN; INSERT INTO abc VALUES(1, 2, 3); } } {} set N 2 foreach p $paths { sqlite3 db2 $p do_test async3-1.$N.1 { execsql {SELECT * FROM abc} db2 } {} do_test async3-1.$N.2 { catchsql {INSERT INTO abc VALUES(4, 5, 6)} db2 } {1 {database is locked}} db2 close incr N } db close sqlite3async_control halt idle sqlite3async_wait sqlite3async_control halt never sqlite3async_shutdown finish_test