From ae7ac4f73a5b6610add847dacfdf784a9e280cd4 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 2 Jul 2013 18:43:30 -0400 Subject: [PATCH] add a float exclusion to help oursql build 100% --- lib/sqlalchemy/testing/requirements.py | 9 +++++++++ lib/sqlalchemy/testing/suite/test_types.py | 1 + test/requirements.py | 3 +++ 3 files changed, 13 insertions(+) diff --git a/lib/sqlalchemy/testing/requirements.py b/lib/sqlalchemy/testing/requirements.py index 0350cd06b3..3a299b0db1 100644 --- a/lib/sqlalchemy/testing/requirements.py +++ b/lib/sqlalchemy/testing/requirements.py @@ -372,6 +372,15 @@ class SuiteRequirements(Requirements): return exclusions.closed() + @property + def floats_to_four_decimals(self): + """target backend can return a floating-point number with four + significant digits (such as 15.7563) accurately + (i.e. without FP inaccuracies, such as 15.75629997253418). + + """ + return exclusions.open() + @property def text_type(self): """Target database must support an unbounded Text() " diff --git a/lib/sqlalchemy/testing/suite/test_types.py b/lib/sqlalchemy/testing/suite/test_types.py index 0d8bfdc0f5..0de462eb7e 100644 --- a/lib/sqlalchemy/testing/suite/test_types.py +++ b/lib/sqlalchemy/testing/suite/test_types.py @@ -283,6 +283,7 @@ class NumericTest(fixtures.TestBase): [15.7563, None], ) + @testing.requires.floats_to_four_decimals def test_float_as_decimal(self): self._do_test( Float(precision=8, asdecimal=True), diff --git a/test/requirements.py b/test/requirements.py index e2637087d1..a9cb44b575 100644 --- a/test/requirements.py +++ b/test/requirements.py @@ -536,6 +536,9 @@ class DefaultRequirements(SuiteRequirements): ] ) + @property + def floats_to_four_decimals(self): + return fails_if("mysql+oursql", "Floating point error") @property def python2(self): -- 2.47.3