Disable several toreal() tests that require high floating point precision when it is unavailable.

FossilOrigin-Name: b724219b008d9851de18bd4158375100d781c5a3
This commit is contained in:
mistachkin 2013-08-29 02:27:39 +00:00
parent 09dee52885
commit a17713ff8d
3 changed files with 52 additions and 34 deletions

View File

@ -1,5 +1,5 @@
C Prevent\sthe\simplementation\sof\sthe\storeal()\sSQL\sfunction\sfrom\sbeing\s'optimized'\sby\sMSVC. C Disable\sseveral\storeal()\stests\sthat\srequire\shigh\sfloating\spoint\sprecision\swhen\sit\sis\sunavailable.
D 2013-08-29T01:17:24.949 D 2013-08-29T02:27:39.369
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 5e41da95d92656a5004b03d3576e8b226858a28e F Makefile.in 5e41da95d92656a5004b03d3576e8b226858a28e
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@ -562,7 +562,7 @@ F test/full.test 6b3c8fb43c6beab6b95438c1675374b95fab245d
F test/func.test cd25cf605c5a345d038dc7b84232204c6a901c84 F test/func.test cd25cf605c5a345d038dc7b84232204c6a901c84
F test/func2.test 772d66227e4e6684b86053302e2d74a2500e1e0f F test/func2.test 772d66227e4e6684b86053302e2d74a2500e1e0f
F test/func3.test 001021e5b88bd02a3b365a5c5fd8f6f49d39744a F test/func3.test 001021e5b88bd02a3b365a5c5fd8f6f49d39744a
F test/func4.test 91a0ff89a98304d23dc795c4dbb65865a484633b F test/func4.test 4eaa19eed2fd37a39b4bb274c4bf84b142a9a40a
F test/fuzz-oss1.test 4912e528ec9cf2f42134456933659d371c9e0d74 F test/fuzz-oss1.test 4912e528ec9cf2f42134456933659d371c9e0d74
F test/fuzz.test 77fd50afc12847af50fcf1941679d90adebadde6 F test/fuzz.test 77fd50afc12847af50fcf1941679d90adebadde6
F test/fuzz2.test 207d0f9d06db3eaf47a6b7bfc835b8e2fc397167 F test/fuzz2.test 207d0f9d06db3eaf47a6b7bfc835b8e2fc397167
@ -1109,7 +1109,7 @@ F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
F tool/wherecosttest.c f407dc4c79786982a475261866a161cd007947ae F tool/wherecosttest.c f407dc4c79786982a475261866a161cd007947ae
F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac
P 375dfe288fd0c4eb3c343a3cb23a7e3851903805 P 047bd1c24553b00ccf12d7745bb4c46820b91f5e
R 7c55303025c97a6a9c8303db7e5df83c R 23d92ec42ac516cd6bc59a2369e868fb
U mistachkin U mistachkin
Z 349da4d5082e6d065b9211864249410e Z 305c9d921855a6e7bed35ab5c2575022

View File

@ -1 +1 @@
047bd1c24553b00ccf12d7745bb4c46820b91f5e b724219b008d9851de18bd4158375100d781c5a3

View File

@ -8,9 +8,12 @@
# May you share freely, never taking more than you give. # May you share freely, never taking more than you give.
# #
#*********************************************************************** #***********************************************************************
# This file implements regression tests for SQLite library. The # This file implements regression tests for SQLite library. The focus of
# focus of this file is testing the tointeger() and toreal() # this file is testing the tointeger() and toreal() functions.
# functions. #
# Several of the toreal() tests are disabled on platforms where floating
# point precision is not high enough to represent their constant integer
# expression arguments as double precision floating point values.
# #
set testdir [file dirname $argv0] set testdir [file dirname $argv0]
source $testdir/tester.tcl source $testdir/tester.tcl
@ -184,6 +187,9 @@ do_execsql_test func4-1.55 {
} {{}} } {{}}
ifcapable floatingpoint { ifcapable floatingpoint {
set highPrecision [expr \
{[memdbsql {SELECT toreal(-9223372036854775808 + 1);}] eq {{}}}]
do_execsql_test func4-2.1 { do_execsql_test func4-2.1 {
SELECT toreal(NULL); SELECT toreal(NULL);
} {{}} } {{}}
@ -256,18 +262,22 @@ ifcapable floatingpoint {
do_execsql_test func4-2.24 { do_execsql_test func4-2.24 {
SELECT toreal(-9223372036854775808); SELECT toreal(-9223372036854775808);
} {-9.223372036854776e+18} } {-9.223372036854776e+18}
do_execsql_test func4-2.25 { if {$highPrecision} {
SELECT toreal(-9223372036854775808 + 1); do_execsql_test func4-2.25 {
} {{}} SELECT toreal(-9223372036854775808 + 1);
} {{}}
}
do_execsql_test func4-2.26 { do_execsql_test func4-2.26 {
SELECT toreal(-9223372036854775807 - 1); SELECT toreal(-9223372036854775807 - 1);
} {-9.223372036854776e+18} } {-9.223372036854776e+18}
do_execsql_test func4-2.27 { if {$highPrecision} {
SELECT toreal(-9223372036854775807); do_execsql_test func4-2.27 {
} {{}} SELECT toreal(-9223372036854775807);
do_execsql_test func4-2.28 { } {{}}
SELECT toreal(-9223372036854775807 + 1); do_execsql_test func4-2.28 {
} {{}} SELECT toreal(-9223372036854775807 + 1);
} {{}}
}
do_execsql_test func4-2.29 { do_execsql_test func4-2.29 {
SELECT toreal(-2147483648 - 1); SELECT toreal(-2147483648 - 1);
} {-2147483649.0} } {-2147483649.0}
@ -286,12 +296,14 @@ ifcapable floatingpoint {
do_execsql_test func4-2.34 { do_execsql_test func4-2.34 {
SELECT toreal(2147483647 + 1); SELECT toreal(2147483647 + 1);
} {2147483648.0} } {2147483648.0}
do_execsql_test func4-2.35 { if {$highPrecision} {
SELECT toreal(9223372036854775807 - 1); do_execsql_test func4-2.35 {
} {{}} SELECT toreal(9223372036854775807 - 1);
do_execsql_test func4-2.36 { } {{}}
SELECT toreal(9223372036854775807); do_execsql_test func4-2.36 {
} {{}} SELECT toreal(9223372036854775807);
} {{}}
}
do_execsql_test func4-2.37 { do_execsql_test func4-2.37 {
SELECT toreal(9223372036854775807 + 1); SELECT toreal(9223372036854775807 + 1);
} {9.223372036854776e+18} } {9.223372036854776e+18}
@ -319,9 +331,11 @@ ifcapable floatingpoint {
do_execsql_test func4-2.45 { do_execsql_test func4-2.45 {
SELECT toreal(9007199254740992); SELECT toreal(9007199254740992);
} {9007199254740992.0} } {9007199254740992.0}
do_execsql_test func4-2.46 { if {$highPrecision} {
SELECT toreal(9007199254740992 + 1); do_execsql_test func4-2.46 {
} {{}} SELECT toreal(9007199254740992 + 1);
} {{}}
}
do_execsql_test func4-2.47 { do_execsql_test func4-2.47 {
SELECT toreal(9007199254740992 + 2); SELECT toreal(9007199254740992 + 2);
} {9007199254740994.0} } {9007199254740994.0}
@ -549,9 +563,11 @@ ifcapable floatingpoint {
do_execsql_test func4-5.7 { do_execsql_test func4-5.7 {
SELECT tointeger(toreal(-9223372036854775808)); SELECT tointeger(toreal(-9223372036854775808));
} {-9223372036854775808} } {-9223372036854775808}
do_execsql_test func4-5.8 { if {$highPrecision} {
SELECT tointeger(toreal(-9223372036854775808 + 1)); do_execsql_test func4-5.8 {
} {{}} SELECT tointeger(toreal(-9223372036854775808 + 1));
} {{}}
}
do_execsql_test func4-5.9 { do_execsql_test func4-5.9 {
SELECT tointeger(toreal(-2147483648 - 1)); SELECT tointeger(toreal(-2147483648 - 1));
} {-2147483649} } {-2147483649}
@ -594,9 +610,11 @@ ifcapable floatingpoint {
do_execsql_test func4-5.22 { do_execsql_test func4-5.22 {
SELECT tointeger(toreal(9007199254740992)); SELECT tointeger(toreal(9007199254740992));
} {9007199254740992} } {9007199254740992}
do_execsql_test func4-5.23 { if {$highPrecision} {
SELECT tointeger(toreal(9007199254740992 + 1)); do_execsql_test func4-5.23 {
} {{}} SELECT tointeger(toreal(9007199254740992 + 1));
} {{}}
}
do_execsql_test func4-5.24 { do_execsql_test func4-5.24 {
SELECT tointeger(toreal(9007199254740992 + 2)); SELECT tointeger(toreal(9007199254740992 + 2));
} {9007199254740994} } {9007199254740994}