Changes to test scripts to support running on symbian. (CVS 5714)
FossilOrigin-Name: 6ef34e9d3118965781c69011deaede1ebbb19b12
This commit is contained in:
+102
-33
@@ -18,14 +18,13 @@
|
||||
# correctly generate 0.0, +Inf, and -Inf as appropriate for numbers
|
||||
# out of range.
|
||||
#
|
||||
# $Id: nan.test,v 1.3 2008/05/11 11:07:07 drh Exp $
|
||||
# $Id: nan.test,v 1.4 2008/09/17 16:14:10 danielk1977 Exp $
|
||||
#
|
||||
|
||||
set testdir [file dirname $argv0]
|
||||
source $testdir/tester.tcl
|
||||
|
||||
|
||||
do_test nan-1.1 {
|
||||
do_test nan-1.1.1 {
|
||||
db eval {
|
||||
PRAGMA auto_vacuum=OFF;
|
||||
PRAGMA page_size=1024;
|
||||
@@ -37,40 +36,95 @@ do_test nan-1.1 {
|
||||
sqlite3_reset $::STMT
|
||||
db eval {SELECT x, typeof(x) FROM t1}
|
||||
} {{} null}
|
||||
do_test nan-1.2 {
|
||||
if {$tcl_platform(platform) != "symbian"} {
|
||||
do_test nan-1.1.2 {
|
||||
sqlite3_bind_double $::STMT 1 +Inf
|
||||
sqlite3_step $::STMT
|
||||
sqlite3_reset $::STMT
|
||||
db eval {SELECT x, typeof(x) FROM t1}
|
||||
} {{} null inf real}
|
||||
do_test nan-1.1.3 {
|
||||
sqlite3_bind_double $::STMT 1 -Inf
|
||||
sqlite3_step $::STMT
|
||||
sqlite3_reset $::STMT
|
||||
db eval {SELECT x, typeof(x) FROM t1}
|
||||
} {{} null inf real -inf real}
|
||||
do_test nan-1.1.4 {
|
||||
sqlite3_bind_double $::STMT 1 -NaN
|
||||
sqlite3_step $::STMT
|
||||
sqlite3_reset $::STMT
|
||||
db eval {SELECT x, typeof(x) FROM t1}
|
||||
} {{} null inf real -inf real {} null}
|
||||
do_test nan-1.1.5 {
|
||||
sqlite3_bind_double $::STMT 1 NaN0
|
||||
sqlite3_step $::STMT
|
||||
sqlite3_reset $::STMT
|
||||
db eval {SELECT x, typeof(x) FROM t1}
|
||||
} {{} null inf real -inf real {} null {} null}
|
||||
do_test nan-1.1.5 {
|
||||
sqlite3_bind_double $::STMT 1 -NaN0
|
||||
sqlite3_step $::STMT
|
||||
sqlite3_reset $::STMT
|
||||
db eval {SELECT x, typeof(x) FROM t1}
|
||||
} {{} null inf real -inf real {} null {} null {} null}
|
||||
do_test nan-1.1.6 {
|
||||
db eval {
|
||||
UPDATE t1 SET x=x-x;
|
||||
SELECT x, typeof(x) FROM t1;
|
||||
}
|
||||
} {{} null {} null {} null {} null {} null {} null}
|
||||
}
|
||||
|
||||
# The following block of tests, nan-1.2.*, are the same as the nan-1.1.*
|
||||
# tests above, except that the SELECT queries used to validate data
|
||||
# convert floating point values to text internally before returning them
|
||||
# to Tcl. This allows the tests to be run on platforms where Tcl has
|
||||
# problems converting "inf" and "-inf" from floating point to text format.
|
||||
# It also tests the internal float->text conversion routines a bit.
|
||||
#
|
||||
do_test nan-1.2.1 {
|
||||
db eval {
|
||||
DELETE FROM T1;
|
||||
}
|
||||
sqlite3_bind_double $::STMT 1 NaN
|
||||
sqlite3_step $::STMT
|
||||
sqlite3_reset $::STMT
|
||||
db eval {SELECT CAST(x AS text), typeof(x) FROM t1}
|
||||
} {{} null}
|
||||
do_test nan-1.2.2 {
|
||||
sqlite3_bind_double $::STMT 1 +Inf
|
||||
sqlite3_step $::STMT
|
||||
sqlite3_reset $::STMT
|
||||
db eval {SELECT x, typeof(x) FROM t1}
|
||||
} {{} null inf real}
|
||||
do_test nan-1.3 {
|
||||
db eval {SELECT CAST(x AS text), typeof(x) FROM t1}
|
||||
} {{} null Inf real}
|
||||
do_test nan-1.2.3 {
|
||||
sqlite3_bind_double $::STMT 1 -Inf
|
||||
sqlite3_step $::STMT
|
||||
sqlite3_reset $::STMT
|
||||
db eval {SELECT x, typeof(x) FROM t1}
|
||||
} {{} null inf real -inf real}
|
||||
do_test nan-1.4 {
|
||||
db eval {SELECT CAST(x AS text), typeof(x) FROM t1}
|
||||
} {{} null Inf real -Inf real}
|
||||
do_test nan-1.2.4 {
|
||||
sqlite3_bind_double $::STMT 1 -NaN
|
||||
sqlite3_step $::STMT
|
||||
sqlite3_reset $::STMT
|
||||
db eval {SELECT x, typeof(x) FROM t1}
|
||||
} {{} null inf real -inf real {} null}
|
||||
do_test nan-1.5 {
|
||||
db eval {SELECT CAST(x AS text), typeof(x) FROM t1}
|
||||
} {{} null Inf real -Inf real {} null}
|
||||
do_test nan-1.2.5 {
|
||||
sqlite3_bind_double $::STMT 1 NaN0
|
||||
sqlite3_step $::STMT
|
||||
sqlite3_reset $::STMT
|
||||
db eval {SELECT x, typeof(x) FROM t1}
|
||||
} {{} null inf real -inf real {} null {} null}
|
||||
do_test nan-1.5 {
|
||||
db eval {SELECT CAST(x AS text), typeof(x) FROM t1}
|
||||
} {{} null Inf real -Inf real {} null {} null}
|
||||
do_test nan-1.2.5 {
|
||||
sqlite3_bind_double $::STMT 1 -NaN0
|
||||
sqlite3_step $::STMT
|
||||
sqlite3_reset $::STMT
|
||||
db eval {SELECT x, typeof(x) FROM t1}
|
||||
} {{} null inf real -inf real {} null {} null {} null}
|
||||
do_test nan-1.6 {
|
||||
db eval {SELECT CAST(x AS text), typeof(x) FROM t1}
|
||||
} {{} null Inf real -Inf real {} null {} null {} null}
|
||||
do_test nan-1.2.6 {
|
||||
db eval {
|
||||
UPDATE t1 SET x=x-x;
|
||||
SELECT x, typeof(x) FROM t1;
|
||||
SELECT CAST(x AS text), typeof(x) FROM t1;
|
||||
}
|
||||
} {{} null {} null {} null {} null {} null {} null}
|
||||
|
||||
@@ -146,38 +200,53 @@ do_test nan-4.2 {
|
||||
db eval {SELECT x, typeof(x) FROM t1}
|
||||
} {1e+308 real}
|
||||
do_test nan-4.3 {
|
||||
db eval {DELETE FROM t1}
|
||||
db eval "INSERT INTO t1 VALUES([string repeat 9 309].0)"
|
||||
db eval {SELECT x, typeof(x) FROM t1}
|
||||
} {inf real}
|
||||
do_test nan-4.4 {
|
||||
db eval {DELETE FROM t1}
|
||||
db eval "INSERT INTO t1 VALUES(-[string repeat 9 307].0)"
|
||||
db eval {SELECT x, typeof(x) FROM t1}
|
||||
} {-1e+307 real}
|
||||
do_test nan-4.5 {
|
||||
do_test nan-4.4 {
|
||||
db eval {DELETE FROM t1}
|
||||
db eval "INSERT INTO t1 VALUES(-[string repeat 9 308].0)"
|
||||
db eval {SELECT x, typeof(x) FROM t1}
|
||||
} {-1e+308 real}
|
||||
do_test nan-4.6 {
|
||||
db eval {DELETE FROM t1}
|
||||
db eval "INSERT INTO t1 VALUES(-[string repeat 9 309].0)"
|
||||
db eval {SELECT x, typeof(x) FROM t1}
|
||||
} {-inf real}
|
||||
do_test nan-4.7 {
|
||||
do_test nan-4.5 {
|
||||
db eval {DELETE FROM t1}
|
||||
set big -[string repeat 0 10000][string repeat 9 308].[string repeat 0 10000]
|
||||
db eval "INSERT INTO t1 VALUES($big)"
|
||||
db eval {SELECT x, typeof(x) FROM t1}
|
||||
} {-1e+308 real}
|
||||
do_test nan-4.8 {
|
||||
do_test nan-4.6 {
|
||||
db eval {DELETE FROM t1}
|
||||
set big [string repeat 0 10000][string repeat 9 308].[string repeat 0 10000]
|
||||
db eval "INSERT INTO t1 VALUES($big)"
|
||||
db eval {SELECT x, typeof(x) FROM t1}
|
||||
} {1e+308 real}
|
||||
|
||||
if {$tcl_platform(platform) != "symbian"} {
|
||||
# Do not run these tests on Symbian, as the Tcl port doesn't like to
|
||||
# convert from floating point value "-inf" to a string.
|
||||
#
|
||||
do_test nan-4.7 {
|
||||
db eval {DELETE FROM t1}
|
||||
db eval "INSERT INTO t1 VALUES([string repeat 9 309].0)"
|
||||
db eval {SELECT x, typeof(x) FROM t1}
|
||||
} {inf real}
|
||||
do_test nan-4.8 {
|
||||
db eval {DELETE FROM t1}
|
||||
db eval "INSERT INTO t1 VALUES(-[string repeat 9 309].0)"
|
||||
db eval {SELECT x, typeof(x) FROM t1}
|
||||
} {-inf real}
|
||||
}
|
||||
do_test nan-4.9 {
|
||||
db eval {DELETE FROM t1}
|
||||
db eval "INSERT INTO t1 VALUES([string repeat 9 309].0)"
|
||||
db eval {SELECT CAST(x AS text), typeof(x) FROM t1}
|
||||
} {Inf real}
|
||||
do_test nan-4.10 {
|
||||
db eval {DELETE FROM t1}
|
||||
db eval "INSERT INTO t1 VALUES(-[string repeat 9 309].0)"
|
||||
db eval {SELECT CAST(x AS text), typeof(x) FROM t1}
|
||||
} {-Inf real}
|
||||
|
||||
do_test nan-4.10 {
|
||||
db eval {DELETE FROM t1}
|
||||
|
||||
+13
-3
@@ -13,6 +13,7 @@
|
||||
# This file implements tests to make sure abusively large triggers
|
||||
# (triggers with 100s or 1000s of statements) work.
|
||||
#
|
||||
# $Id: trigger8.test,v 1.2 2008/09/17 16:14:10 danielk1977 Exp $
|
||||
|
||||
set testdir [file dirname $argv0]
|
||||
source $testdir/tester.tcl
|
||||
@@ -21,14 +22,23 @@ ifcapable {!trigger} {
|
||||
return
|
||||
}
|
||||
|
||||
# Set variable $nStatement to the number of statements to include in the
|
||||
# body of the trigger. On a workstation with virtually unlimited memory,
|
||||
# use 10000. But on symbian, which allows each application at most a 32MB
|
||||
# heap, use 1000.
|
||||
#
|
||||
set nStatement 10000
|
||||
if {$tcl_platform(platform) == "symbian"} {
|
||||
set nStatement 1000
|
||||
}
|
||||
|
||||
do_test trigger8-1.1 {
|
||||
execsql {
|
||||
CREATE TABLE t1(x);
|
||||
CREATE TABLE t2(y);
|
||||
}
|
||||
set sql "CREATE TRIGGER r10000 AFTER INSERT ON t1 BEGIN\n"
|
||||
for {set i 0} {$i<10000} {incr i} {
|
||||
set sql "CREATE TRIGGER r${nStatement} AFTER INSERT ON t1 BEGIN\n"
|
||||
for {set i 0} {$i<$nStatement} {incr i} {
|
||||
append sql " INSERT INTO t2 VALUES($i);\n"
|
||||
}
|
||||
append sql "END;"
|
||||
@@ -37,6 +47,6 @@ do_test trigger8-1.1 {
|
||||
INSERT INTO t1 VALUES(5);
|
||||
SELECT count(*) FROM t2;
|
||||
}
|
||||
} {10000}
|
||||
} $nStatement
|
||||
|
||||
finish_test
|
||||
|
||||
Reference in New Issue
Block a user