Reviewers: Jakob,

Message:
PTAL

Description:
Fix deopt fuzzer after test runner changes.

Use the same keyboard interrupt logic as run-tests.
Close the perf database explicitly after one run, as it has two runs on the same architecture. Currently the first run closes on garbage collection, which might
corrupt the second run.

BUG=

Please review this at https://codereview.chromium.org/284203002/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+15, -24 lines):
  M tools/run-deopt-fuzzer.py
  M tools/testrunner/local/execution.py


Index: tools/run-deopt-fuzzer.py
diff --git a/tools/run-deopt-fuzzer.py b/tools/run-deopt-fuzzer.py
index 21894ff520997389a3d3ff4f7740136f091d2329..44a4ab5e01e594719ac43d783572860322e479cf 100755
--- a/tools/run-deopt-fuzzer.py
+++ b/tools/run-deopt-fuzzer.py
@@ -319,8 +319,11 @@ def Main():

   for mode in options.mode:
     for arch in options.arch:
-      code = Execute(arch, mode, args, options, suites, workspace)
-      exit_code = exit_code or code
+      try:
+        code = Execute(arch, mode, args, options, suites, workspace)
+        exit_code = exit_code or code
+      except KeyboardInterrupt:
+        return 2
   return exit_code


@@ -409,17 +412,11 @@ def Execute(arch, mode, args, options, suites, workspace):
     print "No tests to run."
     return 0

-  try:
-    print(">>> Collection phase")
-    progress_indicator = progress.PROGRESS_INDICATORS[options.progress]()
-    runner = execution.Runner(suites, progress_indicator, ctx)
+  print(">>> Collection phase")
+  progress_indicator = progress.PROGRESS_INDICATORS[options.progress]()
+  runner = execution.Runner(suites, progress_indicator, ctx)

-    exit_code = runner.Run(options.j)
-    if runner.terminate:
-      return exit_code
-
-  except KeyboardInterrupt:
-    return 1
+  exit_code = runner.Run(options.j)

   print(">>> Analysis phase")
   num_tests = 0
@@ -462,19 +459,12 @@ def Execute(arch, mode, args, options, suites, workspace):
     print "No tests to run."
     return 0

-  try:
-    print(">>> Deopt fuzzing phase (%d test cases)" % num_tests)
-    progress_indicator = progress.PROGRESS_INDICATORS[options.progress]()
-    runner = execution.Runner(suites, progress_indicator, ctx)
-
-    exit_code = runner.Run(options.j)
-    if runner.terminate:
-      return exit_code
+  print(">>> Deopt fuzzing phase (%d test cases)" % num_tests)
+  progress_indicator = progress.PROGRESS_INDICATORS[options.progress]()
+  runner = execution.Runner(suites, progress_indicator, ctx)

-  except KeyboardInterrupt:
-    return 1
-
-  return exit_code
+  code = runner.Run(options.j)
+  return exit_code or code


 if __name__ == "__main__":
Index: tools/testrunner/local/execution.py
diff --git a/tools/testrunner/local/execution.py b/tools/testrunner/local/execution.py index c095ea6c8554131951b00c123c0170e2b0e555a1..4dc62c2e90066032c2dd3412987a729786c14b9c 100644
--- a/tools/testrunner/local/execution.py
+++ b/tools/testrunner/local/execution.py
@@ -138,6 +138,7 @@ class Runner(object):
         self.indicator.HasRun(test, has_unexpected_output)
     finally:
       pool.terminate()
+      self.perf_data_manager.close()
     if queued_exception:
       raise queued_exception



--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to