[lldb/test] Replace shlex.join with shlex.quote
join is only available since python-3.8, but the all the interesting magic happens in shlex.quote, which has been around since 3.3. Use shlex.quote, and instead provide a home-grown helper function to handle the joining. Differential Revision: https://reviews.llvm.org/D112802
This commit is contained in:
parent
11630dbbc3
commit
b42d51ba9a
@ -1,5 +1,6 @@
|
||||
import binascii
|
||||
import six
|
||||
import shlex
|
||||
|
||||
if six.PY2:
|
||||
import commands
|
||||
@ -49,3 +50,7 @@ def unhexlify(hexstr):
|
||||
def hexlify(data):
|
||||
"""Hex-encode string data. The result if always a string."""
|
||||
return bitcast_to_string(binascii.hexlify(bitcast_to_bytes(data)))
|
||||
|
||||
# TODO: Replace this with `shlex.join` when minimum Python version is >= 3.8
|
||||
def join_for_shell(split_command):
|
||||
return " ".join([shlex.quote(part) for part in split_command])
|
||||
|
@ -45,7 +45,6 @@ import os.path
|
||||
import re
|
||||
import shutil
|
||||
import signal
|
||||
import shlex
|
||||
from subprocess import *
|
||||
import sys
|
||||
import time
|
||||
@ -68,6 +67,7 @@ from . import lldbutil
|
||||
from . import test_categories
|
||||
from lldbsuite.support import encoded_file
|
||||
from lldbsuite.support import funcutils
|
||||
from lldbsuite.support import seven
|
||||
from lldbsuite.test.builders import get_builder
|
||||
from lldbsuite.test_event import build_exception
|
||||
|
||||
@ -1423,7 +1423,7 @@ class Base(unittest2.TestCase):
|
||||
self.runBuildCommand(command)
|
||||
|
||||
def runBuildCommand(self, command):
|
||||
self.trace(shlex.join(command))
|
||||
self.trace(seven.join_for_shell(command))
|
||||
try:
|
||||
output = check_output(command, stderr=STDOUT, errors="replace")
|
||||
except CalledProcessError as cpe:
|
||||
|
@ -1,10 +1,10 @@
|
||||
import shlex
|
||||
from lldbsuite.support import seven
|
||||
|
||||
class BuildError(Exception):
|
||||
|
||||
def __init__(self, called_process_error):
|
||||
super(BuildError, self).__init__("Error when building test subject")
|
||||
self.command = shlex.join(called_process_error.cmd)
|
||||
self.command = seven.join_for_shell(called_process_error.cmd)
|
||||
self.build_error = called_process_error.output
|
||||
|
||||
def __str__(self):
|
||||
|
Loading…
x
Reference in New Issue
Block a user