Reviewers: Mads Ager, Description: Patch by Erik Kay to allow specifying which shell to run when running the tests.
Please review this at http://codereview.chromium.org/42374 SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ Affected files: M tools/test.py Index: tools/test.py =================================================================== --- tools/test.py (revision 1525) +++ tools/test.py (working copy) @@ -479,7 +479,7 @@ try: os.unlink(name) except OSError, e: - PrintError(str(e)) + PrintError("os.unlink() " + str(e)) CheckedUnlink(outname) CheckedUnlink(errname) return CommandOutput(exit_code, timed_out, output, errors) @@ -590,7 +590,7 @@ test.GetTestStatus(context, sections, defs) -PREFIX = {'debug': '_g', 'release': ''} +SUFFIX = {'debug': '_g', 'release': ''} class Context(object): @@ -605,11 +605,10 @@ self.suppress_dialogs = suppress_dialogs def GetVm(self, mode): - name = self.vm_root + PREFIX[mode] - if utils.IsWindows(): - return name + '.exe' - else: - return name + name = self.vm_root + SUFFIX[mode] + if utils.IsWindows() and not name.endswith('.exe'): + name = name + '.exe' + return name def RunTestCases(all_cases, progress, tasks): def DoSkip(case): @@ -1092,6 +1091,7 @@ dest="suppress_dialogs", default=True, action="store_true") result.add_option("--no-suppress-dialogs", help="Display Windows dialogs for crashing tests", dest="suppress_dialogs", action="store_false") + result.add_option("--shell", help="Path to V8 shell", default="shell"); return result @@ -1222,21 +1222,22 @@ run_valgrind = join(workspace, "tools", "run-valgrind.py") options.special_command = "python -u " + run_valgrind + " @" - # First build the required targets - buildspace = abspath('.') + shell = abspath(options.shell) + buildspace = dirname(shell) context = Context(workspace, buildspace, VERBOSE, - join(buildspace, 'shell'), + shell, options.timeout, GetSpecialCommandProcessor(options.special_command), options.suppress_dialogs) - if options.j != 1: - options.scons_flags += ['-j', str(options.j)] + # First build the required targets if not options.no_build: reqs = [ ] for path in paths: reqs += root.GetBuildRequirements(path, context) reqs = list(set(reqs)) if len(reqs) > 0: + if options.j != 1: + options.scons_flags += ['-j', str(options.j)] if not BuildRequirements(context, reqs, options.mode, options.scons_flags): return 1 @@ -1253,6 +1254,9 @@ globally_unused_rules = None for path in paths: for mode in options.mode: + if not exists(context.GetVm(mode)): + print "Can't find shell executable: '%s'" % context.GetVm(mode) + continue env = { 'mode': mode, 'system': utils.GuessOS(), --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
