From: Benjamin Peterson Date: Fri, 2 Jul 2010 23:25:44 +0000 (+0000) Subject: Merged revisions 82461 via svnmerge from X-Git-Tag: v3.2a1~355 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e401c6842a9e6314c0648d311725b25606966a57;p=python Merged revisions 82461 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r82461 | benjamin.peterson | 2010-07-02 18:05:27 -0500 (Fri, 02 Jul 2010) | 1 line don't require the presence of __getformat__ or __setformat__; use requires_IEEE_754 globally ........ --- diff --git a/Lib/test/test_float.py b/Lib/test/test_float.py index 5932b964da..a1b130b48b 100644 --- a/Lib/test/test_float.py +++ b/Lib/test/test_float.py @@ -11,8 +11,13 @@ import random, fractions INF = float("inf") NAN = float("nan") +have_getformat = hasattr(float, "__getformat__") +requires_getformat = unittest.skipUnless(have_getformat, + "requires __getformat__") +requires_setformat = unittest.skipUnless(hasattr(float, "__setformat__"), + "requires __setformat__") # decorator for skipping tests on non-IEEE 754 platforms -requires_IEEE_754 = unittest.skipUnless( +requires_IEEE_754 = unittest.skipUnless(have_getformat and float.__getformat__("double").startswith("IEEE"), "test requires IEEE 754 doubles") @@ -377,6 +382,7 @@ class GeneralFloatCases(unittest.TestCase): #self.assertTrue(0.0 > pow_op(-2.0, -1047) > -1e-315) +@requires_setformat class FormatFunctionsTestCase(unittest.TestCase): def setUp(self): @@ -427,6 +433,7 @@ LE_FLOAT_NAN = bytes(reversed(BE_FLOAT_NAN)) # on non-IEEE platforms, attempting to unpack a bit pattern # representing an infinity or a NaN should raise an exception. +@requires_setformat class UnknownFormatTestCase(unittest.TestCase): def setUp(self): self.save_formats = {'double':float.__getformat__('double'), @@ -459,36 +466,25 @@ class UnknownFormatTestCase(unittest.TestCase): # let's also try to guarantee that -0.0 and 0.0 don't get confused. class IEEEFormatTestCase(unittest.TestCase): - if float.__getformat__("double").startswith("IEEE"): - def test_double_specials_do_unpack(self): - for fmt, data in [('>d', BE_DOUBLE_INF), - ('>d', BE_DOUBLE_NAN), - ('f', BE_FLOAT_INF), - ('>f', BE_FLOAT_NAN), - ('d', BE_DOUBLE_INF), + ('>d', BE_DOUBLE_NAN), + ('f', BE_FLOAT_INF), + ('>f', BE_FLOAT_NAN), + ('