summaryrefslogtreecommitdiff
path: root/deps/v8/tools/testrunner/local/command.py
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/tools/testrunner/local/command.py')
-rw-r--r--deps/v8/tools/testrunner/local/command.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/deps/v8/tools/testrunner/local/command.py b/deps/v8/tools/testrunner/local/command.py
index 8c0264e335..5eb0d8b20a 100644
--- a/deps/v8/tools/testrunner/local/command.py
+++ b/deps/v8/tools/testrunner/local/command.py
@@ -155,6 +155,25 @@ class BaseCommand(object):
class PosixCommand(BaseCommand):
+ # TODO(machenbach): Use base process start without shell once
+ # https://crbug.com/v8/8889 is resolved.
+ def _start_process(self):
+ def wrapped(arg):
+ if set('() \'"') & set(arg):
+ return "'%s'" % arg.replace("'", "'\"'\"'")
+ return arg
+ try:
+ return subprocess.Popen(
+ args=' '.join(map(wrapped, self._get_popen_args())),
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE,
+ env=self._get_env(),
+ shell=True,
+ )
+ except Exception as e:
+ sys.stderr.write('Error executing: %s\n' % self)
+ raise e
+
def _kill_process(self, process):
process.kill()