summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@haypocalc.com>2011-05-10 21:40:17 (GMT)
committerVictor Stinner <victor.stinner@haypocalc.com>2011-05-10 21:40:17 (GMT)
commitcd9dd3797462b8827f5289e84cd9daa1488783eb (patch)
treeaf7858b391eb49f8be6c9ccc09a0b6534d867a62 /Lib
parent74b4885cc9e57dd0526da0bf8b84040f8e26bbc2 (diff)
downloadcpython-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.py15
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)