diff options
author | Victor Stinner <victor.stinner@haypocalc.com> | 2011-05-10 21:40:17 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@haypocalc.com> | 2011-05-10 21:40:17 (GMT) |
commit | cd9dd3797462b8827f5289e84cd9daa1488783eb (patch) | |
tree | af7858b391eb49f8be6c9ccc09a0b6534d867a62 /Lib | |
parent | 74b4885cc9e57dd0526da0bf8b84040f8e26bbc2 (diff) | |
download | cpython-cd9dd3797462b8827f5289e84cd9daa1488783eb.zip cpython-cd9dd3797462b8827f5289e84cd9daa1488783eb.tar.gz cpython-cd9dd3797462b8827f5289e84cd9daa1488783eb.tar.bz2 |
Issue #11888: skip some log2 tests on Mac OS X Tiger
System log2() is not accurate for exact power of 2.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/test_math.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/Lib/test/test_math.py b/Lib/test/test_math.py index 81080f2..5b914d5 100644 --- a/Lib/test/test_math.py +++ b/Lib/test/test_math.py @@ -5,6 +5,7 @@ from test.support import run_unittest, verbose, requires_IEEE_754 import unittest import math import os +import platform import sys import struct import sysconfig @@ -652,10 +653,6 @@ class MathTests(unittest.TestCase): @requires_IEEE_754 def testLog2(self): self.assertRaises(TypeError, math.log2) - # Check that we get exact equality for log2 of powers of 2. - actual = [math.log2(math.ldexp(1.0, n)) for n in range(-1074, 1024)] - expected = [float(n) for n in range(-1074, 1024)] - self.assertEqual(actual, expected) # Check some integer values self.assertEqual(math.log2(1), 0.0) @@ -671,6 +668,16 @@ class MathTests(unittest.TestCase): self.assertRaises(ValueError, math.log2, NINF) self.assertTrue(math.isnan(math.log2(NAN))) + @requires_IEEE_754 + @unittest.skipIf(sys.platform == 'darwin' + and platform.mac_ver()[0].startswith('10.4.'), + 'Mac OS X Tiger log2() is not accurate enough') + def testLog2Exact(self): + # Check that we get exact equality for log2 of powers of 2. + actual = [math.log2(math.ldexp(1.0, n)) for n in range(-1074, 1024)] + expected = [float(n) for n in range(-1074, 1024)] + self.assertEqual(actual, expected) + def testLog10(self): self.assertRaises(TypeError, math.log10) self.ftest('log10(0.1)', math.log10(0.1), -1) |