[Lldb-commits] [PATCH] D112802: [lldb/test] Replace shlex.join with shlex.quote
Pavel Labath via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Fri Oct 29 04:37:17 PDT 2021
labath created this revision.
labath added a reviewer: teemperor.
labath requested review of this revision.
Herald added a project: LLDB.
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.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D112802
Files:
lldb/packages/Python/lldbsuite/support/seven.py
lldb/packages/Python/lldbsuite/test/lldbtest.py
lldb/packages/Python/lldbsuite/test_event/build_exception.py
Index: lldb/packages/Python/lldbsuite/test_event/build_exception.py
===================================================================
--- lldb/packages/Python/lldbsuite/test_event/build_exception.py
+++ lldb/packages/Python/lldbsuite/test_event/build_exception.py
@@ -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):
Index: lldb/packages/Python/lldbsuite/test/lldbtest.py
===================================================================
--- lldb/packages/Python/lldbsuite/test/lldbtest.py
+++ lldb/packages/Python/lldbsuite/test/lldbtest.py
@@ -45,7 +45,6 @@
import re
import shutil
import signal
-import shlex
from subprocess import *
import sys
import time
@@ -68,6 +67,7 @@
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 @@
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:
Index: lldb/packages/Python/lldbsuite/support/seven.py
===================================================================
--- lldb/packages/Python/lldbsuite/support/seven.py
+++ lldb/packages/Python/lldbsuite/support/seven.py
@@ -1,5 +1,6 @@
import binascii
import six
+import shlex
if six.PY2:
import commands
@@ -49,3 +50,6 @@
def hexlify(data):
"""Hex-encode string data. The result if always a string."""
return bitcast_to_string(binascii.hexlify(bitcast_to_bytes(data)))
+
+def join_for_shell(split_command):
+ return " ".join([shlex.quote(part) for part in split_command])
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D112802.383301.patch
Type: text/x-patch
Size: 2265 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20211029/d84643c5/attachment.bin>
More information about the lldb-commits
mailing list