diff options
author | Mark Dickinson <dickinsm@gmail.com> | 2016-09-04 08:58:51 (GMT) |
---|---|---|
committer | Mark Dickinson <dickinsm@gmail.com> | 2016-09-04 08:58:51 (GMT) |
commit | 85746542ead2e8994263b893f2d7560beb3bf1ca (patch) | |
tree | 40f74847b37137427c92b03b6d1de95aeb03f79b | |
parent | 96f774d8246e91bc30fc440b65f9c7a435462f45 (diff) | |
download | cpython-85746542ead2e8994263b893f2d7560beb3bf1ca.zip cpython-85746542ead2e8994263b893f2d7560beb3bf1ca.tar.gz cpython-85746542ead2e8994263b893f2d7560beb3bf1ca.tar.bz2 |
Issue #27953: skip failing math and cmath tests for tan on OS X 10.4.
-rw-r--r-- | Lib/test/test_cmath.py | 20 | ||||
-rw-r--r-- | Lib/test/test_math.py | 19 | ||||
-rw-r--r-- | Misc/NEWS | 3 |
3 files changed, 41 insertions, 1 deletions
diff --git a/Lib/test/test_cmath.py b/Lib/test/test_cmath.py index 11b0c61..0451fb0 100644 --- a/Lib/test/test_cmath.py +++ b/Lib/test/test_cmath.py @@ -4,6 +4,8 @@ import test.test_math as test_math import unittest import cmath, math from cmath import phase, polar, rect, pi +import platform +import sys import sysconfig INF = float('inf') @@ -332,6 +334,18 @@ class CMathTests(unittest.TestCase): @requires_IEEE_754 def test_specific_values(self): + # Some tests need to be skipped on ancient OS X versions. + # See issue #27953. + SKIP_ON_TIGER = {'tan0064'} + + osx_version = None + if sys.platform == 'darwin': + version_txt = platform.mac_ver()[0] + try: + osx_version = tuple(map(int, version_txt.split('.'))) + except ValueError: + pass + def rect_complex(z): """Wrapped version of rect that accepts a complex number instead of two float arguments.""" @@ -345,6 +359,12 @@ class CMathTests(unittest.TestCase): for id, fn, ar, ai, er, ei, flags in parse_testfile(test_file): arg = complex(ar, ai) expected = complex(er, ei) + + # Skip certain tests on OS X 10.4. + if osx_version is not None and osx_version < (10, 5): + if id in SKIP_ON_TIGER: + continue + if fn == 'rect': function = rect_complex elif fn == 'polar': diff --git a/Lib/test/test_math.py b/Lib/test/test_math.py index 02d8b47..93b77b7 100644 --- a/Lib/test/test_math.py +++ b/Lib/test/test_math.py @@ -6,8 +6,9 @@ from test import support import unittest import math import os -import sys +import platform import struct +import sys import sysconfig eps = 1E-05 @@ -1150,6 +1151,18 @@ class MathTests(unittest.TestCase): @requires_IEEE_754 def test_testfile(self): + # Some tests need to be skipped on ancient OS X versions. + # See issue #27953. + SKIP_ON_TIGER = {'tan0064'} + + osx_version = None + if sys.platform == 'darwin': + version_txt = platform.mac_ver()[0] + try: + osx_version = tuple(map(int, version_txt.split('.'))) + except ValueError: + pass + fail_fmt = "{}: {}({!r}): {}" failures = [] @@ -1160,6 +1173,10 @@ class MathTests(unittest.TestCase): if fn in ['rect', 'polar']: # no real versions of rect, polar continue + # Skip certain tests on OS X 10.4. + if osx_version is not None and osx_version < (10, 5): + if id in SKIP_ON_TIGER: + continue func = getattr(math, fn) @@ -135,6 +135,9 @@ Library Tests ----- +- Issue #27953: Skip math and cmath tests that fail on OS X 10.4 due to a + poor libm implementation of tan. + - Issue #26040: Improve test_math and test_cmath coverage and rigour. Patch by Jeff Allen. |