- add sources.
[platform/framework/web/crosswalk.git] / src / third_party / sqlite / src / test / tkt-94c04eaadb.test
1 # 2009 October 19
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
14 set testdir [file dirname $argv0]
15 source $testdir/tester.tcl
16
17 if {[info commands sqlite3async_initialize] eq ""} {
18   # The async logic is not built into this system
19   finish_test
20   return
21 }
22
23 # Create a database.
24 do_test tkt-94c94-1.1 {
25   execsql { CREATE TABLE t1(a, b) }
26 } {}
27
28 # Grow the file to larger than 4096MB (2^32 bytes)
29 db close
30 if {[catch {fake_big_file 4096 [pwd]/test.db} msg]} {
31   puts "**** Unable to create a file larger than 4096 MB. *****"
32   finish_test
33   return
34 }
35
36 # Switch to async mode.
37 sqlite3async_initialize "" 1
38 sqlite3 db test.db
39 sqlite3 db2 test.db
40
41 # Read from and write to the db just past the 4096MB mark.
42 #
43 do_test tkt-94c94-2.1 {
44   execsql { CREATE TABLE t2(x, y) } db
45 } {}
46 do_test tkt-94c94-2.2 {
47 breakpoint
48   execsql { INSERT INTO t2 VALUES(1, 2) } db2
49 } {}
50 do_test tkt-94c94-2.3 {
51   execsql { SELECT * FROM t2 } db
52 } {1 2}
53 do_test tkt-94c94-2.4 {
54   sqlite3async_control halt idle
55   sqlite3async_start
56   sqlite3async_wait
57 } {}
58 do_test tkt-94c94-2.5 {
59   execsql { SELECT * FROM t2 } db
60 } {1 2}
61 do_test tkt-94c94-2.6 {
62   sqlite3async_start
63   sqlite3async_wait
64 } {}
65
66 db close
67 db2 close
68 sqlite3async_start
69 sqlite3async_wait
70 sqlite3async_control halt never
71 sqlite3async_shutdown
72
73 finish_test