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
-~----------~----~----~----~------~----~------~--~---

Reply via email to