]> granicus.if.org Git - python/commitdiff
Issue #21881: Be more tolerant in test_tcl to not parsable by float() NaN
authorSerhiy Storchaka <storchaka@gmail.com>
Mon, 7 Jul 2014 10:44:33 +0000 (13:44 +0300)
committerSerhiy Storchaka <storchaka@gmail.com>
Mon, 7 Jul 2014 10:44:33 +0000 (13:44 +0300)
representations (on mips and m68k platforms).

Lib/test/test_tcl.py

index a4e13ab23c31da4037c323962001e1951a880ed4..cb86a7390ee8951f96a0fa8faf70b1726b70158d 100644 (file)
@@ -406,8 +406,9 @@ class TclTest(unittest.TestCase):
             self.assertEqual(passValue(float('inf')), float('inf'))
             self.assertEqual(passValue(-float('inf')), -float('inf'))
         else:
-            f = float(passValue(float('nan')))
-            self.assertNotEqual(f, f)
+            f = passValue(float('nan'))
+            self.assertIsInstance(f, str)
+            self.assertEqual(f.lower()[:3], 'nan')
             self.assertEqual(float(passValue(float('inf'))), float('inf'))
             self.assertEqual(float(passValue(-float('inf'))), -float('inf'))
         self.assertEqual(passValue((1, '2', (3.4,))),
@@ -431,9 +432,8 @@ class TclTest(unittest.TestCase):
             expected = float(expected)
             self.assertAlmostEqual(float(actual), expected,
                                    delta=abs(expected) * 1e-10)
-        def nan_eq(actual, expected):
-            actual = float(actual)
-            self.assertNotEqual(actual, actual)
+        def starts_with(actual, expected):
+            self.assertEqual(actual.lower()[:len(expected)], expected)
 
         check(True, '1')
         check(False, '0')
@@ -456,7 +456,7 @@ class TclTest(unittest.TestCase):
             check(f, f, eq=float_eq)
         check(float('inf'), 'Inf', eq=float_eq)
         check(-float('inf'), '-Inf', eq=float_eq)
-        check(float('nan'), 'NaN', eq=nan_eq)
+        check(float('nan'), 'nan', eq=starts_with)
         check((), '')
         check((1, (2,), (3, 4), '5 6', ()), '1 2 {3 4} {5 6} {}')