From 5318c181cfb18a7f3b5b479f77a8450a2948247c Mon Sep 17 00:00:00 2001 From: "jkummerow@chromium.org" Date: Wed, 23 Jan 2013 11:41:56 +0000 Subject: [PATCH] tools/run-tests.py: shlex.split() the value of --command-prefix BUG=171553 Review URL: https://codereview.chromium.org/12049034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- test/cctest/testcfg.py | 8 ++++---- tools/run-tests.py | 4 +++- tools/testrunner/local/execution.py | 2 +- tools/testrunner/objects/context.py | 4 ++-- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/test/cctest/testcfg.py b/test/cctest/testcfg.py index 1d03a84..7bcccfa 100644 --- a/test/cctest/testcfg.py +++ b/test/cctest/testcfg.py @@ -47,10 +47,10 @@ class CcTestSuite(testsuite.TestSuite): def ListTests(self, context): shell = os.path.abspath(os.path.join(context.shell_dir, self.shell())) if utils.IsWindows(): - shell += '.exe' - output = commands.Execute([context.command_prefix, - shell, - '--list', + shell += ".exe" + output = commands.Execute(context.command_prefix + + [shell, + "--list", context.extra_flags]) if output.exit_code != 0: print output.stdout diff --git a/tools/run-tests.py b/tools/run-tests.py index f20af16..c2c43a9 100755 --- a/tools/run-tests.py +++ b/tools/run-tests.py @@ -32,6 +32,7 @@ import multiprocessing import optparse import os from os.path import join +import shlex import subprocess import sys import time @@ -176,6 +177,7 @@ def ProcessOptions(options): print("Specifying --command-prefix disables network distribution, " "running tests locally.") options.no_network = True + options.command_prefix = shlex.split(options.command_prefix) if options.j == 0: options.j = multiprocessing.cpu_count() if options.no_stress: @@ -189,7 +191,7 @@ def ProcessOptions(options): if options.valgrind: run_valgrind = os.path.join("tools", "run-valgrind.py") # This is OK for distributed running, so we don't need to set no_network. - options.command_prefix = ("python -u " + run_valgrind + + options.command_prefix = (["python", "-u", run_valgrind] + options.command_prefix) return True diff --git a/tools/testrunner/local/execution.py b/tools/testrunner/local/execution.py index 2e37fcb..9ca3991 100644 --- a/tools/testrunner/local/execution.py +++ b/tools/testrunner/local/execution.py @@ -167,7 +167,7 @@ class Runner(object): d8testflag = ["--test"] if utils.IsWindows(): shell += ".exe" - cmd = ([self.context.command_prefix] + + cmd = (self.context.command_prefix + [os.path.abspath(os.path.join(self.context.shell_dir, shell))] + d8testflag + test.suite.GetFlagsForTestCase(test, self.context) + diff --git a/tools/testrunner/objects/context.py b/tools/testrunner/objects/context.py index b72284b..3ea215a 100644 --- a/tools/testrunner/objects/context.py +++ b/tools/testrunner/objects/context.py @@ -41,10 +41,10 @@ class Context(): def Pack(self): return [self.arch, self.mode, self.mode_flags, self.timeout, self.isolates, - self.extra_flags] + self.command_prefix, self.extra_flags] @staticmethod def Unpack(packed): # For the order of the fields, refer to Pack() above. return Context(packed[0], packed[1], None, packed[2], False, - packed[3], packed[4], "", packed[5]) + packed[3], packed[4], packed[5], packed[6]) -- 2.7.4