summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTarek Ziadé <ziade.tarek@gmail.com>2009-04-13 12:34:01 (GMT)
committerTarek Ziadé <ziade.tarek@gmail.com>2009-04-13 12:34:01 (GMT)
commit156c31a7beea8cb4d5265410b20dc8eb3798379f (patch)
tree936eba2cfbefed28398a335b298311be58c141ab
parent4585746fb01243334a06419ae9b511a7c2b9761e (diff)
downloadcpython-156c31a7beea8cb4d5265410b20dc8eb3798379f.zip
cpython-156c31a7beea8cb4d5265410b20dc8eb3798379f.tar.gz
cpython-156c31a7beea8cb4d5265410b20dc8eb3798379f.tar.bz2
Fixed #5607: Distutils test_get_platform was failing fo Mac OS X fat binaries.
-rw-r--r--Lib/distutils/tests/test_util.py32
-rw-r--r--Misc/NEWS2
2 files changed, 33 insertions, 1 deletions
diff --git a/Lib/distutils/tests/test_util.py b/Lib/distutils/tests/test_util.py
index 6747402..f27c452 100644
--- a/Lib/distutils/tests/test_util.py
+++ b/Lib/distutils/tests/test_util.py
@@ -5,6 +5,7 @@
import os
import sys
import unittest
+from copy import copy
from distutils.errors import DistutilsPlatformError
@@ -17,6 +18,7 @@ from distutils.util import strtobool
from distutils.util import rfc822_escape
from distutils import util # used to patch _environ_checked
+from distutils.sysconfig import get_config_vars, _config_vars
class utilTestCase(unittest.TestCase):
@@ -30,6 +32,7 @@ class utilTestCase(unittest.TestCase):
self.join = os.path.join
self.isabs = os.path.isabs
self.splitdrive = os.path.splitdrive
+ self._config_vars = copy(_config_vars)
# patching os.uname
if hasattr(os, 'uname'):
@@ -42,7 +45,7 @@ class utilTestCase(unittest.TestCase):
os.uname = self._get_uname
def tearDown(self):
- # getting back tne environment
+ # getting back the environment
os.name = self.name
sys.platform = self.platform
sys.version = self.version
@@ -55,6 +58,7 @@ class utilTestCase(unittest.TestCase):
os.uname = self.uname
else:
del os.uname
+ _config_vars = copy(self._config_vars)
def _set_uname(self, uname):
self._uname = uname
@@ -96,8 +100,34 @@ class utilTestCase(unittest.TestCase):
'root:xnu-792.25.20~1/RELEASE_I386'), 'i386'))
os.environ['MACOSX_DEPLOYMENT_TARGET'] = '10.3'
+ get_config_vars()['CFLAGS'] = ('-fno-strict-aliasing -DNDEBUG -g '
+ '-fwrapv -O3 -Wall -Wstrict-prototypes')
+
self.assertEquals(get_platform(), 'macosx-10.3-i386')
+ # macbook with fat binaries (fat, universal or fat64)
+ os.environ['MACOSX_DEPLOYMENT_TARGET'] = '10.4'
+ get_config_vars()['CFLAGS'] = ('-arch ppc -arch i386 -isysroot '
+ '/Developer/SDKs/MacOSX10.4u.sdk '
+ '-fno-strict-aliasing -fno-common '
+ '-dynamic -DNDEBUG -g -O3')
+
+ self.assertEquals(get_platform(), 'macosx-10.4-fat')
+
+ get_config_vars()['CFLAGS'] = ('-arch x86_64 -arch i386 -isysroot '
+ '/Developer/SDKs/MacOSX10.4u.sdk '
+ '-fno-strict-aliasing -fno-common '
+ '-dynamic -DNDEBUG -g -O3')
+
+ self.assertEquals(get_platform(), 'macosx-10.4-universal')
+
+ get_config_vars()['CFLAGS'] = ('-arch x86_64 -isysroot '
+ '/Developer/SDKs/MacOSX10.4u.sdk '
+ '-fno-strict-aliasing -fno-common '
+ '-dynamic -DNDEBUG -g -O3')
+
+ self.assertEquals(get_platform(), 'macosx-10.4-fat64')
+
# linux debian sarge
os.name = 'posix'
sys.version = ('2.3.5 (#1, Jul 4 2007, 17:28:59) '
diff --git a/Misc/NEWS b/Misc/NEWS
index 35f3d3f..8798647 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -221,6 +221,8 @@ Core and Builtins
Library
-------
+- Issue #5607: fixed Distutils test_get_platform for Mac OS X fat binaries.
+
- Issue #5741: don't disallow "%%" (which is an escape for "%") when setting
a value in SafeConfigParser.