]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Disable several toreal() tests that require high floating point precision when it...
authormistachkin <mistachkin@noemail.net>
Thu, 29 Aug 2013 02:27:39 +0000 (02:27 +0000)
committermistachkin <mistachkin@noemail.net>
Thu, 29 Aug 2013 02:27:39 +0000 (02:27 +0000)
FossilOrigin-Name: b724219b008d9851de18bd4158375100d781c5a3

manifest
manifest.uuid
test/func4.test

index dc0eaaf0432269c523facb4490ac4a9b078df82f..09f33e19c251777442f208797ab5d2b6d40d4512 100644 (file)
--- 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
index 761fcfda927a717460a864fba977d1ab3353f453..abd3892813672426482ba69cfa62c28a50efeaa3 100644 (file)
@@ -1 +1 @@
-047bd1c24553b00ccf12d7745bb4c46820b91f5e
\ No newline at end of file
+b724219b008d9851de18bd4158375100d781c5a3
\ No newline at end of file
index 3e26fea614b114e8d26b0fe94576586ddfba6a5e..6b1f228b57f86781ba7ec3dc7170e1f0fb368abf 100644 (file)
@@ -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}