resolve upstream merge conflict in distclean
[sqlcipher.git] / test / win32nolock.test
blob8128860392f762072c6aca6e88de0cb40eabd5a6
1 # 2016 July 8
3 # The author disclaims copyright to this source code.  In place of
4 # a legal notice, here is a blessing:
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.
10 #***********************************************************************
11 # This file implements regression tests for SQLite library.
14 if {$tcl_platform(platform)!="windows"} return
16 set testdir [file dirname $argv0]
17 source $testdir/tester.tcl
18 set testprefix win32nolock
20 do_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 } {}
29 do_test win32nolock-1.1 {
30   execsql COMMIT
31   catchsql { SELECT * FROM t1 }
32 } {0 {1 2}}
34 db close
36 do_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 } {}
46 do_test win32nolock-1.3 {
47   execsql { SELECT * FROM t1 }
48 } {1 2 3 4}
50 do_test win32nolock-1.4 {
51   execsql { SELECT * FROM t1; } db2
52 } {1 2}
54 do_test win32nolock-1.5 {
55   execsql {
56     BEGIN;
57     SELECT * FROM t1;
58   } db2
59 } {1 2}
61 do_test win32nolock-1.6 {
62   execsql COMMIT
63   execsql {SELECT * FROM t1} db2
64 } {1 2}
66 ifcapable memorymanage {
67   do_test win32nolock-1.7 {
68     sqlite3_release_memory 1000000
69     execsql {SELECT * FROM t1} db2
70   } {1 2 3 4}
73 do_test win32nolock-1.8 {
74   db close
75   db2 close
76 } {}
78 do_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}}}
85 do_test win32nolock-1.9.2 {
86   db close
87   db2 close
88 } {}
90 do_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 {}}}
97 do_test win32nolock-1.10.2 {
98   db close
99   db2 close
100 } {}
102 do_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 {}}}
109 do_test win32nolock-1.11.2 {
110   db close
111   db2 close
112 } {}
114 do_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 {}}}
121 do_test win32nolock-1.12.2 {
122   db close
123   db2 close
124 } {}
126 finish_test