From: Mark Dickinson Date: Sun, 4 Sep 2016 08:58:51 +0000 (+0100) Subject: Issue #27953: skip failing math and cmath tests for tan on OS X 10.4. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=85746542ead2e8994263b893f2d7560beb3bf1ca;p=python Issue #27953: skip failing math and cmath tests for tan on OS X 10.4. --- diff --git a/Lib/test/test_cmath.py b/Lib/test/test_cmath.py index 11b0c61202..0451fb0aa2 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 02d8b47c13..93b77b771e 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) diff --git a/Misc/NEWS b/Misc/NEWS index a71309404e..06034837f8 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -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.