From: mistachkin Date: Thu, 29 Aug 2013 02:27:39 +0000 (+0000) Subject: Disable several toreal() tests that require high floating point precision when it... X-Git-Tag: version-3.8.1~11^2~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a17713ff8d7e1dc39f530ff2cee21f5243b0fe4d;p=thirdparty%2Fsqlite.git Disable several toreal() tests that require high floating point precision when it is unavailable. FossilOrigin-Name: b724219b008d9851de18bd4158375100d781c5a3 --- diff --git a/manifest b/manifest index dc0eaaf043..09f33e19c2 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Prevent\sthe\simplementation\sof\sthe\storeal()\sSQL\sfunction\sfrom\sbeing\s'optimized'\sby\sMSVC. -D 2013-08-29T01:17:24.949 +C Disable\sseveral\storeal()\stests\sthat\srequire\shigh\sfloating\spoint\sprecision\swhen\sit\sis\sunavailable. +D 2013-08-29T02:27:39.369 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 5e41da95d92656a5004b03d3576e8b226858a28e F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -562,7 +562,7 @@ F test/full.test 6b3c8fb43c6beab6b95438c1675374b95fab245d F test/func.test cd25cf605c5a345d038dc7b84232204c6a901c84 F test/func2.test 772d66227e4e6684b86053302e2d74a2500e1e0f F test/func3.test 001021e5b88bd02a3b365a5c5fd8f6f49d39744a -F test/func4.test 91a0ff89a98304d23dc795c4dbb65865a484633b +F test/func4.test 4eaa19eed2fd37a39b4bb274c4bf84b142a9a40a F test/fuzz-oss1.test 4912e528ec9cf2f42134456933659d371c9e0d74 F test/fuzz.test 77fd50afc12847af50fcf1941679d90adebadde6 F test/fuzz2.test 207d0f9d06db3eaf47a6b7bfc835b8e2fc397167 @@ -1109,7 +1109,7 @@ F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381 F tool/wherecosttest.c f407dc4c79786982a475261866a161cd007947ae F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac -P 375dfe288fd0c4eb3c343a3cb23a7e3851903805 -R 7c55303025c97a6a9c8303db7e5df83c +P 047bd1c24553b00ccf12d7745bb4c46820b91f5e +R 23d92ec42ac516cd6bc59a2369e868fb U mistachkin -Z 349da4d5082e6d065b9211864249410e +Z 305c9d921855a6e7bed35ab5c2575022 diff --git a/manifest.uuid b/manifest.uuid index 761fcfda92..abd3892813 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -047bd1c24553b00ccf12d7745bb4c46820b91f5e \ No newline at end of file +b724219b008d9851de18bd4158375100d781c5a3 \ No newline at end of file diff --git a/test/func4.test b/test/func4.test index 3e26fea614..6b1f228b57 100644 --- a/test/func4.test +++ b/test/func4.test @@ -8,9 +8,12 @@ # May you share freely, never taking more than you give. # #*********************************************************************** -# This file implements regression tests for SQLite library. The -# focus of this file is testing the tointeger() and toreal() -# functions. +# This file implements regression tests for SQLite library. The focus of +# this file is testing the tointeger() and toreal() 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] source $testdir/tester.tcl @@ -184,6 +187,9 @@ do_execsql_test func4-1.55 { } {{}} ifcapable floatingpoint { + set highPrecision [expr \ + {[memdbsql {SELECT toreal(-9223372036854775808 + 1);}] eq {{}}}] + do_execsql_test func4-2.1 { SELECT toreal(NULL); } {{}} @@ -256,18 +262,22 @@ ifcapable floatingpoint { do_execsql_test func4-2.24 { SELECT toreal(-9223372036854775808); } {-9.223372036854776e+18} - do_execsql_test func4-2.25 { - SELECT toreal(-9223372036854775808 + 1); - } {{}} + if {$highPrecision} { + do_execsql_test func4-2.25 { + SELECT toreal(-9223372036854775808 + 1); + } {{}} + } do_execsql_test func4-2.26 { SELECT toreal(-9223372036854775807 - 1); } {-9.223372036854776e+18} - do_execsql_test func4-2.27 { - SELECT toreal(-9223372036854775807); - } {{}} - do_execsql_test func4-2.28 { - SELECT toreal(-9223372036854775807 + 1); - } {{}} + if {$highPrecision} { + do_execsql_test func4-2.27 { + SELECT toreal(-9223372036854775807); + } {{}} + do_execsql_test func4-2.28 { + SELECT toreal(-9223372036854775807 + 1); + } {{}} + } do_execsql_test func4-2.29 { SELECT toreal(-2147483648 - 1); } {-2147483649.0} @@ -286,12 +296,14 @@ ifcapable floatingpoint { do_execsql_test func4-2.34 { SELECT toreal(2147483647 + 1); } {2147483648.0} - do_execsql_test func4-2.35 { - SELECT toreal(9223372036854775807 - 1); - } {{}} - do_execsql_test func4-2.36 { - SELECT toreal(9223372036854775807); - } {{}} + if {$highPrecision} { + do_execsql_test func4-2.35 { + SELECT toreal(9223372036854775807 - 1); + } {{}} + do_execsql_test func4-2.36 { + SELECT toreal(9223372036854775807); + } {{}} + } do_execsql_test func4-2.37 { SELECT toreal(9223372036854775807 + 1); } {9.223372036854776e+18} @@ -319,9 +331,11 @@ ifcapable floatingpoint { do_execsql_test func4-2.45 { SELECT toreal(9007199254740992); } {9007199254740992.0} - do_execsql_test func4-2.46 { - SELECT toreal(9007199254740992 + 1); - } {{}} + if {$highPrecision} { + do_execsql_test func4-2.46 { + SELECT toreal(9007199254740992 + 1); + } {{}} + } do_execsql_test func4-2.47 { SELECT toreal(9007199254740992 + 2); } {9007199254740994.0} @@ -549,9 +563,11 @@ ifcapable floatingpoint { do_execsql_test func4-5.7 { SELECT tointeger(toreal(-9223372036854775808)); } {-9223372036854775808} - do_execsql_test func4-5.8 { - SELECT tointeger(toreal(-9223372036854775808 + 1)); - } {{}} + if {$highPrecision} { + do_execsql_test func4-5.8 { + SELECT tointeger(toreal(-9223372036854775808 + 1)); + } {{}} + } do_execsql_test func4-5.9 { SELECT tointeger(toreal(-2147483648 - 1)); } {-2147483649} @@ -594,9 +610,11 @@ ifcapable floatingpoint { do_execsql_test func4-5.22 { SELECT tointeger(toreal(9007199254740992)); } {9007199254740992} - do_execsql_test func4-5.23 { - SELECT tointeger(toreal(9007199254740992 + 1)); - } {{}} + if {$highPrecision} { + do_execsql_test func4-5.23 { + SELECT tointeger(toreal(9007199254740992 + 1)); + } {{}} + } do_execsql_test func4-5.24 { SELECT tointeger(toreal(9007199254740992 + 2)); } {9007199254740994}