[Python-checkins] cpython: Issue #27953: skip failing math and cmath tests for tan on OS X 10.4.

mark.dickinson python-checkins at python.org
Sun Sep 4 04:58:59 EDT 2016


https://hg.python.org/cpython/rev/b4d52df5595e
changeset:   103026:b4d52df5595e
user:        Mark Dickinson <dickinsm at gmail.com>
date:        Sun Sep 04 09:58:51 2016 +0100
summary:
  Issue #27953: skip failing math and cmath tests for tan on OS X 10.4.

files:
  Lib/test/test_cmath.py |  20 ++++++++++++++++++++
  Lib/test/test_math.py  |  19 ++++++++++++++++++-
  Misc/NEWS              |   3 +++
  3 files changed, 41 insertions(+), 1 deletions(-)


diff --git a/Lib/test/test_cmath.py b/Lib/test/test_cmath.py
--- a/Lib/test/test_cmath.py
+++ b/Lib/test/test_cmath.py
@@ -4,6 +4,8 @@
 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 @@
 
     @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 @@
         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
--- a/Lib/test/test_math.py
+++ b/Lib/test/test_math.py
@@ -6,8 +6,9 @@
 import unittest
 import math
 import os
+import platform
+import struct
 import sys
-import struct
 import sysconfig
 
 eps = 1E-05
@@ -1150,6 +1151,18 @@
 
     @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 @@
             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
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -135,6 +135,9 @@
 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.
 

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list