1# 2016 July 8 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# This file implements regression tests for SQLite library. 12# 13 14if {$tcl_platform(platform)!="windows"} return 15 16set testdir [file dirname $argv0] 17source $testdir/tester.tcl 18set testprefix win32nolock 19 20do_test win32nolock-1.0 { 21 sqlite3 db test.db 22 execsql { 23 CREATE TABLE t1(a, b); 24 BEGIN; 25 INSERT INTO t1 VALUES(1, 2); 26 } 27} {} 28 29do_test win32nolock-1.1 { 30 execsql COMMIT 31 catchsql { SELECT * FROM t1 } 32} {0 {1 2}} 33 34db close 35 36do_test win32nolock-1.2 { 37 sqlite3 db test.db -vfs win32-none 38 sqlite3 db2 test.db -vfs win32-none 39 execsql { PRAGMA mmap_size = 0 } db2 40 execsql { 41 BEGIN; 42 INSERT INTO t1 VALUES(3, 4); 43 } 44} {} 45 46do_test win32nolock-1.3 { 47 execsql { SELECT * FROM t1 } 48} {1 2 3 4} 49 50do_test win32nolock-1.4 { 51 execsql { SELECT * FROM t1; } db2 52} {1 2} 53 54do_test win32nolock-1.5 { 55 execsql { 56 BEGIN; 57 SELECT * FROM t1; 58 } db2 59} {1 2} 60 61do_test win32nolock-1.6 { 62 execsql COMMIT 63 execsql {SELECT * FROM t1} db2 64} {1 2} 65 66ifcapable memorymanage { 67 do_test win32nolock-1.7 { 68 sqlite3_release_memory 1000000 69 execsql {SELECT * FROM t1} db2 70 } {1 2 3 4} 71} 72 73do_test win32nolock-1.8 { 74 db close 75 db2 close 76} {} 77 78do_test win32nolock-1.9.1 { 79 sqlite3 db test.db 80 sqlite3 db2 test.db 81 list [catchsql { BEGIN EXCLUSIVE; } db] \ 82 [catchsql { BEGIN EXCLUSIVE; } db2] 83} {{0 {}} {1 {database is locked}}} 84 85do_test win32nolock-1.9.2 { 86 db close 87 db2 close 88} {} 89 90do_test win32nolock-1.10.1 { 91 sqlite3 db test.db -vfs win32-none 92 sqlite3 db2 test.db 93 list [catchsql { BEGIN EXCLUSIVE; } db] \ 94 [catchsql { BEGIN EXCLUSIVE; } db2] 95} {{0 {}} {0 {}}} 96 97do_test win32nolock-1.10.2 { 98 db close 99 db2 close 100} {} 101 102do_test win32nolock-1.11.1 { 103 sqlite3 db test.db 104 sqlite3 db2 test.db -vfs win32-none 105 list [catchsql { BEGIN EXCLUSIVE; } db] \ 106 [catchsql { BEGIN EXCLUSIVE; } db2] 107} {{0 {}} {0 {}}} 108 109do_test win32nolock-1.11.2 { 110 db close 111 db2 close 112} {} 113 114do_test win32nolock-1.12.1 { 115 sqlite3 db test.db -vfs win32-none 116 sqlite3 db2 test.db -vfs win32-none 117 list [catchsql { BEGIN EXCLUSIVE; } db] \ 118 [catchsql { BEGIN EXCLUSIVE; } db2] 119} {{0 {}} {0 {}}} 120 121do_test win32nolock-1.12.2 { 122 db close 123 db2 close 124} {} 125 126finish_test 127