aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/sqlite/unix/sqlite-3.5.1/test/bigfile.test
diff options
context:
space:
mode:
authordan miller2007-10-20 02:49:29 +0000
committerdan miller2007-10-20 02:49:29 +0000
commite36d23a85ebff914d74bb541558c2b6082b78edb (patch)
tree54b58fdf162e78af64055282a6035c8d2443389d /libraries/sqlite/unix/sqlite-3.5.1/test/bigfile.test
parent* Fixed an issue whereby avatar chat distances were being calculated against ... (diff)
downloadopensim-SC-e36d23a85ebff914d74bb541558c2b6082b78edb.zip
opensim-SC-e36d23a85ebff914d74bb541558c2b6082b78edb.tar.gz
opensim-SC-e36d23a85ebff914d74bb541558c2b6082b78edb.tar.bz2
opensim-SC-e36d23a85ebff914d74bb541558c2b6082b78edb.tar.xz
sqlite source (unix build) added to libraries
Diffstat (limited to 'libraries/sqlite/unix/sqlite-3.5.1/test/bigfile.test')
-rw-r--r--libraries/sqlite/unix/sqlite-3.5.1/test/bigfile.test193
1 files changed, 193 insertions, 0 deletions
diff --git a/libraries/sqlite/unix/sqlite-3.5.1/test/bigfile.test b/libraries/sqlite/unix/sqlite-3.5.1/test/bigfile.test
new file mode 100644
index 0000000..20ace5c
--- /dev/null
+++ b/libraries/sqlite/unix/sqlite-3.5.1/test/bigfile.test
@@ -0,0 +1,193 @@
1# 2002 November 30
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. The
12# focus of this script testing the ability of SQLite to handle database
13# files larger than 4GB.
14#
15# $Id: bigfile.test,v 1.10 2007/08/18 10:59:21 danielk1977 Exp $
16#
17
18set testdir [file dirname $argv0]
19source $testdir/tester.tcl
20
21# If SQLITE_DISABLE_LFS is defined, omit this file.
22ifcapable !lfs {
23 finish_test
24 return
25}
26
27# These tests only work for Tcl version 8.4 and later. Prior to 8.4,
28# Tcl was unable to handle large files.
29#
30scan $::tcl_version %f vx
31if {$vx<8.4} return
32
33# Mac OS X does not handle large files efficiently. So skip this test
34# on that platform.
35if {$tcl_platform(os)=="Darwin"} return
36
37# This is the md5 checksum of all the data in table t1 as created
38# by the first test. We will use this number to make sure that data
39# never changes.
40#
41set MAGIC_SUM {593f1efcfdbe698c28b4b1b693f7e4cf}
42
43do_test bigfile-1.1 {
44 execsql {
45 BEGIN;
46 CREATE TABLE t1(x);
47 INSERT INTO t1 VALUES('abcdefghijklmnopqrstuvwxyz');
48 INSERT INTO t1 SELECT rowid || ' ' || x FROM t1;
49 INSERT INTO t1 SELECT rowid || ' ' || x FROM t1;
50 INSERT INTO t1 SELECT rowid || ' ' || x FROM t1;
51 INSERT INTO t1 SELECT rowid || ' ' || x FROM t1;
52 INSERT INTO t1 SELECT rowid || ' ' || x FROM t1;
53 INSERT INTO t1 SELECT rowid || ' ' || x FROM t1;
54 INSERT INTO t1 SELECT rowid || ' ' || x FROM t1;
55 COMMIT;
56 }
57 execsql {
58 SELECT md5sum(x) FROM t1;
59 }
60} $::MAGIC_SUM
61
62# Try to create a large file - a file that is larger than 2^32 bytes.
63# If this fails, it means that the system being tested does not support
64# large files. So skip all of the remaining tests in this file.
65#
66db close
67if {[catch {fake_big_file 4096 test.db} msg]} {
68 puts "**** Unable to create a file larger than 4096 MB. *****"
69 puts "$msg"
70 finish_test
71 return
72}
73
74do_test bigfile-1.2 {
75 sqlite3 db test.db
76 execsql {
77 SELECT md5sum(x) FROM t1;
78 }
79} $::MAGIC_SUM
80
81# The previous test may fail on some systems because they are unable
82# to handle large files. If that is so, then skip all of the following
83# tests. We will know the above test failed because the "db" command
84# does not exist.
85#
86if {[llength [info command db]]>0} {
87
88do_test bigfile-1.3 {
89 execsql {
90 CREATE TABLE t2 AS SELECT * FROM t1;
91 SELECT md5sum(x) FROM t2;
92 }
93} $::MAGIC_SUM
94do_test bigfile-1.4 {
95 db close
96 sqlite3 db test.db
97 execsql {
98 SELECT md5sum(x) FROM t1;
99 }
100} $::MAGIC_SUM
101do_test bigfile-1.5 {
102 execsql {
103 SELECT md5sum(x) FROM t2;
104 }
105} $::MAGIC_SUM
106
107db close
108if {[catch {fake_big_file 8192 test.db}]} {
109 puts "**** Unable to create a file larger than 8192 MB. *****"
110 finish_test
111 return
112}
113
114do_test bigfile-1.6 {
115 sqlite3 db test.db
116 execsql {
117 SELECT md5sum(x) FROM t1;
118 }
119} $::MAGIC_SUM
120do_test bigfile-1.7 {
121 execsql {
122 CREATE TABLE t3 AS SELECT * FROM t1;
123 SELECT md5sum(x) FROM t3;
124 }
125} $::MAGIC_SUM
126do_test bigfile-1.8 {
127 db close
128 sqlite3 db test.db
129 execsql {
130 SELECT md5sum(x) FROM t1;
131 }
132} $::MAGIC_SUM
133do_test bigfile-1.9 {
134 execsql {
135 SELECT md5sum(x) FROM t2;
136 }
137} $::MAGIC_SUM
138do_test bigfile-1.10 {
139 execsql {
140 SELECT md5sum(x) FROM t3;
141 }
142} $::MAGIC_SUM
143
144db close
145if {[catch {fake_big_file 16384 test.db}]} {
146 puts "**** Unable to create a file larger than 16384 MB. *****"
147 finish_test
148 return
149}
150
151do_test bigfile-1.11 {
152 sqlite3 db test.db
153 execsql {
154 SELECT md5sum(x) FROM t1;
155 }
156} $::MAGIC_SUM
157do_test bigfile-1.12 {
158 execsql {
159 CREATE TABLE t4 AS SELECT * FROM t1;
160 SELECT md5sum(x) FROM t4;
161 }
162} $::MAGIC_SUM
163do_test bigfile-1.13 {
164 db close
165 sqlite3 db test.db
166 execsql {
167 SELECT md5sum(x) FROM t1;
168 }
169} $::MAGIC_SUM
170do_test bigfile-1.14 {
171 execsql {
172 SELECT md5sum(x) FROM t2;
173 }
174} $::MAGIC_SUM
175do_test bigfile-1.15 {
176 execsql {
177 SELECT md5sum(x) FROM t3;
178 }
179} $::MAGIC_SUM
180do_test bigfile-1.16 {
181 execsql {
182 SELECT md5sum(x) FROM t3;
183 }
184} $::MAGIC_SUM
185do_test bigfile-1.17 {
186 execsql {
187 SELECT md5sum(x) FROM t4;
188 }
189} $::MAGIC_SUM
190
191} ;# End of the "if( db command exists )"
192
193finish_test