[Python-checkins] cpython: Issue #15184: Fix test__remove_unsupported_archs failures on 10.6

ned.deily python-checkins at python.org
Sun Jul 22 07:36:21 CEST 2012


http://hg.python.org/cpython/rev/31349bc40214
changeset:   78239:31349bc40214
parent:      78236:e683084c8bb9
user:        Ned Deily <nad at acm.org>
date:        Sat Jul 21 22:35:16 2012 -0700
summary:
  Issue #15184: Fix test__remove_unsupported_archs failures on 10.6
by removing unwarranted assumptions that clang compiler chain
cannot handle ppc (the driver passes off ppc compiles to gcc).
Mock the behavior instead.

files:
  Lib/test/test__osx_support.py |  10 +++++++++-
  1 files changed, 9 insertions(+), 1 deletions(-)


diff --git a/Lib/test/test__osx_support.py b/Lib/test/test__osx_support.py
--- a/Lib/test/test__osx_support.py
+++ b/Lib/test/test__osx_support.py
@@ -173,7 +173,6 @@
                             _osx_support._remove_universal_flags(
                                     config_vars))
 
-    @unittest.skipUnless(shutil.which('clang'),'test requires clang')
     def test__remove_unsupported_archs(self):
         config_vars = {
         'CC': 'clang',
@@ -195,6 +194,15 @@
         }
         self.add_expected_saved_initial_values(config_vars, expected_vars)
 
+        suffix = (':' + self.env['PATH']) if self.env['PATH'] else ''
+        self.env['PATH'] = os.path.abspath(self.temp_path_dir) + suffix
+        c_name = 'clang'
+        test.support.unlink(c_name)
+        self.addCleanup(test.support.unlink, c_name)
+        # exit status 255 means no PPC support in this compiler chain
+        with open(c_name, 'w') as f:
+            f.write("#!/bin/sh\nexit 255")
+        os.chmod(c_name, stat.S_IRWXU)
         self.assertEqual(expected_vars,
                             _osx_support._remove_unsupported_archs(
                                     config_vars))

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


More information about the Python-checkins mailing list