[PATCH] D54522: Fix running tests on macOS with python3

Alexander Richardson via Phabricator reviews at reviews.llvm.org
Wed Nov 14 04:48:53 PST 2018


arichardson created this revision.
arichardson added reviewers: ldionne, EricWF.
Herald added subscribers: libcxx-commits, christof.

The result of subprocess.check_output() is bytes in python3 which we need
to convert to str(). Simplify this by using the executeCommand() helper.


Repository:
  rCXX libc++

https://reviews.llvm.org/D54522

Files:
  utils/libcxx/test/target_info.py


Index: utils/libcxx/test/target_info.py
===================================================================
--- utils/libcxx/test/target_info.py
+++ utils/libcxx/test/target_info.py
@@ -15,6 +15,8 @@
 import subprocess
 import sys
 
+from libcxx.util import executeCommand
+
 class DefaultTargetInfo(object):
     def __init__(self, full_config):
         self.full_config = full_config
@@ -127,14 +129,14 @@
             cmd = ['xcrun', '--sdk', name, '--show-sdk-path']
         else:
             cmd = ['xcrun', '--show-sdk-path']
-        try:
-            out = subprocess.check_output(cmd).strip()
-            res = 0
-        except OSError:
-            res = -1
-        if res == 0 and out:
-            sdk_path = out
+        out, err, exit_code = executeCommand(cmd)
+        print(out, err, exit_code)
+        if exit_code != 0:
+            self.full_config.lit_config.warning("Could not determine macOS SDK path! stderr was " + err)
+        if exit_code == 0 and out:
+            sdk_path = out.strip()
             self.full_config.lit_config.note('using SDKROOT: %r' % sdk_path)
+            assert isinstance(sdk_path, str)
             flags += ["-isysroot", sdk_path]
 
     def add_cxx_link_flags(self, flags):


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D54522.174015.patch
Type: text/x-patch
Size: 1238 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20181114/659a2d17/attachment.bin>


More information about the libcxx-commits mailing list