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
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>