mirror of
https://github.com/intel/llvm.git
synced 2026-01-27 06:06:34 +08:00
[libc++] Use proper shell escaping in the executors
This commit is contained in:
@@ -14,6 +14,7 @@ program's error code.
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import pipes
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
@@ -57,8 +58,9 @@ def main():
|
||||
else:
|
||||
shutil.copy2(dep, args.execdir)
|
||||
|
||||
# Run the executable with the given environment in the execution directory.
|
||||
return subprocess.call(' '.join(remaining), cwd=args.execdir, env=env, shell=True)
|
||||
# Run the command line with the given environment in the execution directory.
|
||||
commandLine = (pipes.quote(x) for x in remaining)
|
||||
return subprocess.call(' '.join(commandLine), cwd=args.execdir, env=env, shell=True)
|
||||
finally:
|
||||
shutil.rmtree(args.execdir)
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ conformance test suite.
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import pipes
|
||||
import posixpath
|
||||
import subprocess
|
||||
import sys
|
||||
@@ -97,10 +98,11 @@ def main():
|
||||
# host by transforming the path of test-executables to their path in the
|
||||
# temporary directory, where we know they have been copied when we handled
|
||||
# test dependencies above.
|
||||
commandLine = (pathOnRemote(x) if isTestExe(x) else x for x in commandLine)
|
||||
remoteCommands += [
|
||||
'cd {}'.format(tmp),
|
||||
'export {}'.format(' '.join(args.env)),
|
||||
' '.join(pathOnRemote(x) if isTestExe(x) else x for x in commandLine)
|
||||
' '.join(pipes.quote(x) for x in commandLine)
|
||||
]
|
||||
|
||||
# Finally, SSH to the remote host and execute all the commands.
|
||||
|
||||
Reference in New Issue
Block a user