JDevlieghere created this revision.
JDevlieghere added reviewers: davide, zturner, stella.stamenova, labath.
JDevlieghere added a project: LLDB.
Herald added a reviewer: serge-sans-paille.
When running the test suite on macOS with Python 3 we noticed a difference in
behavior between Python 2 and Python 3 for `seven.get_command_output`. The
output contained a newline with Python 3, but not for Python 2. This resulted
in an invalid SDK path passed to the compiler.
There were only two actual usages left of this module so I propose to remove it
and have a simple, local implementation for `get_command_output`.
Repository:
rLLDB LLDB
https://reviews.llvm.org/D57275
Files:
packages/Python/lldbsuite/support/seven.py
packages/Python/lldbsuite/test/dosep.py
packages/Python/lldbsuite/test/dotest.py
packages/Python/lldbsuite/test/functionalities/exec/TestExec.py
packages/Python/lldbsuite/test/functionalities/fat_archives/TestFatArchives.py
packages/Python/lldbsuite/test/lang/objc/ivar-IMP/TestObjCiVarIMP.py
Index: packages/Python/lldbsuite/test/lang/objc/ivar-IMP/TestObjCiVarIMP.py
===================================================================
--- packages/Python/lldbsuite/test/lang/objc/ivar-IMP/TestObjCiVarIMP.py
+++ packages/Python/lldbsuite/test/lang/objc/ivar-IMP/TestObjCiVarIMP.py
@@ -10,21 +10,11 @@
import re
import lldb
-from lldbsuite.support import seven
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
-def execute_command(command):
- # print('%% %s' % (command))
- (exit_status, output) = seven.get_command_status_output(command)
- # if output:
- # print(output)
- # print('status = %u' % (exit_status))
- return exit_status
-
-
class ObjCiVarIMPTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
Index: packages/Python/lldbsuite/test/functionalities/fat_archives/TestFatArchives.py
===================================================================
--- packages/Python/lldbsuite/test/functionalities/fat_archives/TestFatArchives.py
+++ packages/Python/lldbsuite/test/functionalities/fat_archives/TestFatArchives.py
@@ -7,7 +7,6 @@
import lldb
import os
import time
-import lldbsuite.support.seven as seven
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
Index: packages/Python/lldbsuite/test/functionalities/exec/TestExec.py
===================================================================
--- packages/Python/lldbsuite/test/functionalities/exec/TestExec.py
+++ packages/Python/lldbsuite/test/functionalities/exec/TestExec.py
@@ -7,21 +7,11 @@
import lldb
import os
import time
-from lldbsuite.support import seven
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
-def execute_command(command):
- #print('%% %s' % (command))
- (exit_status, output) = seven.get_command_status_output(command)
- # if output:
- # print(output)
- #print('status = %u' % (exit_status))
- return exit_status
-
-
class ExecTestCase(TestBase):
NO_DEBUG_INFO_TESTCASE = True
Index: packages/Python/lldbsuite/test/dotest.py
===================================================================
--- packages/Python/lldbsuite/test/dotest.py
+++ packages/Python/lldbsuite/test/dotest.py
@@ -46,9 +46,15 @@
from lldbsuite.test_event import formatter
from . import test_result
from lldbsuite.test_event.event_builder import EventBuilder
-from ..support import seven
+def get_command_output(cmd):
+ try:
+ return subprocess.check_output(cmd, shell=True).rstrip()
+ except:
+ pass
+ return ''
+
def is_exe(fpath):
"""Returns true if fpath is an executable."""
if fpath == None:
@@ -290,7 +296,7 @@
# Use a compiler appropriate appropriate for the Apple SDK if one was
# specified
if platform_system == 'Darwin' and args.apple_sdk:
- configuration.compiler = seven.get_command_output(
+ configuration.compiler = get_command_output(
'xcrun -sdk "%s" -find clang 2> /dev/null' %
(args.apple_sdk))
else:
@@ -304,7 +310,7 @@
if args.dsymutil:
os.environ['DSYMUTIL'] = args.dsymutil
elif platform_system == 'Darwin':
- os.environ['DSYMUTIL'] = seven.get_command_output(
+ os.environ['DSYMUTIL'] = get_command_output(
'xcrun -find -toolchain default dsymutil')
if args.filecheck:
@@ -336,7 +342,7 @@
# Set SDKROOT if we are using an Apple SDK
if platform_system == 'Darwin' and args.apple_sdk:
- os.environ['SDKROOT'] = seven.get_command_output(
+ os.environ['SDKROOT'] = get_command_output(
'xcrun --sdk "%s" --show-sdk-path 2> /dev/null' %
(args.apple_sdk))
@@ -344,10 +350,10 @@
configuration.arch = args.arch
if configuration.arch.startswith(
'arm') and platform_system == 'Darwin' and not args.apple_sdk:
- os.environ['SDKROOT'] = seven.get_command_output(
+ os.environ['SDKROOT'] = get_command_output(
'xcrun --sdk iphoneos.internal --show-sdk-path 2> /dev/null')
if not os.path.exists(os.environ['SDKROOT']):
- os.environ['SDKROOT'] = seven.get_command_output(
+ os.environ['SDKROOT'] = get_command_output(
'xcrun --sdk iphoneos --show-sdk-path 2> /dev/null')
else:
configuration.arch = platform_machine
@@ -637,7 +643,7 @@
def get_llvm_bin_dirs():
"""
Returns an array of paths that may have the llvm/clang/etc binaries
- in them, relative to this current file.
+ in them, relative to this current file.
Returns an empty array if none are found.
"""
result = []
@@ -1094,7 +1100,7 @@
def getVersionForSDK(sdk):
sdk = str.lower(sdk)
- full_path = seven.get_command_output('xcrun -sdk %s --show-sdk-path' % sdk)
+ full_path = get_command_output('xcrun -sdk %s --show-sdk-path' % sdk)
basename = os.path.basename(full_path)
basename = os.path.splitext(basename)[0]
basename = str.lower(basename)
@@ -1104,7 +1110,7 @@
def getPathForSDK(sdk):
sdk = str.lower(sdk)
- full_path = seven.get_command_output('xcrun -sdk %s --show-sdk-path' % sdk)
+ full_path = get_command_output('xcrun -sdk %s --show-sdk-path' % sdk)
if os.path.exists(full_path):
return full_path
return None
Index: packages/Python/lldbsuite/test/dosep.py
===================================================================
--- packages/Python/lldbsuite/test/dosep.py
+++ packages/Python/lldbsuite/test/dosep.py
@@ -51,7 +51,6 @@
# Our packages and modules
import lldbsuite
-import lldbsuite.support.seven as seven
from . import configuration
from . import dotest_args
@@ -1480,7 +1479,7 @@
return False
system_version = distutils.version.StrictVersion(platform.mac_ver()[0])
- return seven.cmp_(system_version, target_version) < 0
+ return cmp(system_version, target_version) < 0
def default_test_runner_name(num_threads):
Index: packages/Python/lldbsuite/support/seven.py
===================================================================
--- packages/Python/lldbsuite/support/seven.py
+++ /dev/null
@@ -1,25 +0,0 @@
-import six
-
-if six.PY2:
- import commands
- get_command_output = commands.getoutput
- get_command_status_output = commands.getstatusoutput
-
- cmp_ = cmp
-else:
- def get_command_status_output(command):
- try:
- import subprocess
- return (
- 0,
- subprocess.check_output(
- command,
- shell=True,
- universal_newlines=True))
- except subprocess.CalledProcessError as e:
- return (e.returncode, e.output)
-
- def get_command_output(command):
- return get_command_status_output(command)[1]
-
- cmp_ = lambda x, y: (x > y) - (x < y)
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits