Kaydet (Commit) 85746542 authored tarafından Mark Dickinson's avatar Mark Dickinson

Issue #27953: skip failing math and cmath tests for tan on OS X 10.4.

üst 96f774d8
...@@ -4,6 +4,8 @@ import test.test_math as test_math ...@@ -4,6 +4,8 @@ import test.test_math as test_math
import unittest import unittest
import cmath, math import cmath, math
from cmath import phase, polar, rect, pi from cmath import phase, polar, rect, pi
import platform
import sys
import sysconfig import sysconfig
INF = float('inf') INF = float('inf')
...@@ -332,6 +334,18 @@ class CMathTests(unittest.TestCase): ...@@ -332,6 +334,18 @@ class CMathTests(unittest.TestCase):
@requires_IEEE_754 @requires_IEEE_754
def test_specific_values(self): 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): def rect_complex(z):
"""Wrapped version of rect that accepts a complex number instead of """Wrapped version of rect that accepts a complex number instead of
two float arguments.""" two float arguments."""
...@@ -345,6 +359,12 @@ class CMathTests(unittest.TestCase): ...@@ -345,6 +359,12 @@ class CMathTests(unittest.TestCase):
for id, fn, ar, ai, er, ei, flags in parse_testfile(test_file): for id, fn, ar, ai, er, ei, flags in parse_testfile(test_file):
arg = complex(ar, ai) arg = complex(ar, ai)
expected = complex(er, ei) 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': if fn == 'rect':
function = rect_complex function = rect_complex
elif fn == 'polar': elif fn == 'polar':
......
...@@ -6,8 +6,9 @@ from test import support ...@@ -6,8 +6,9 @@ from test import support
import unittest import unittest
import math import math
import os import os
import sys import platform
import struct import struct
import sys
import sysconfig import sysconfig
eps = 1E-05 eps = 1E-05
...@@ -1150,6 +1151,18 @@ class MathTests(unittest.TestCase): ...@@ -1150,6 +1151,18 @@ class MathTests(unittest.TestCase):
@requires_IEEE_754 @requires_IEEE_754
def test_testfile(self): 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}): {}" fail_fmt = "{}: {}({!r}): {}"
failures = [] failures = []
...@@ -1160,6 +1173,10 @@ class MathTests(unittest.TestCase): ...@@ -1160,6 +1173,10 @@ class MathTests(unittest.TestCase):
if fn in ['rect', 'polar']: if fn in ['rect', 'polar']:
# no real versions of rect, polar # no real versions of rect, polar
continue 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) func = getattr(math, fn)
......
...@@ -135,6 +135,9 @@ Library ...@@ -135,6 +135,9 @@ Library
Tests 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 - Issue #26040: Improve test_math and test_cmath coverage and rigour. Patch by
Jeff Allen. Jeff Allen.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment