Bug 1328654 - Clean up after Marionette runner in MarionetteHarness; r?whimboo draft
authorMaja Frydrychowicz <mjzffr@gmail.com>
Wed, 04 Jan 2017 10:09:54 -0500
changeset 456017 5c969df05f2f9d25db370f4b3df303936b57a6ef
parent 455333 cad2ea346d06ec5a3a70eda912513201dff0c21e
child 541099 c8aaf358272df7668d50968b806e660076a0c0fd
push id40355
push userbmo:mjzffr@gmail.com
push dateWed, 04 Jan 2017 18:18:01 +0000
reviewerswhimboo
bugs1328654
milestone53.0a1
Bug 1328654 - Clean up after Marionette runner in MarionetteHarness; r?whimboo This fixes the case where the call to runner.run_tests() raises an exception before any tests start, thus leaving a browser instance running. MozReview-Commit-ID: LFcCZcJJsgf
testing/marionette/harness/marionette_harness/runtests.py
--- a/testing/marionette/harness/marionette_harness/runtests.py
+++ b/testing/marionette/harness/marionette_harness/runtests.py
@@ -63,17 +63,20 @@ class MarionetteHarness(object):
     def process_args(self):
         if self.args.get('pydebugger'):
             self._testcase_class.pydebugger = __import__(self.args['pydebugger'])
 
     def run(self):
         self.process_args()
         tests = self.args.pop('tests')
         runner = self._runner_class(**self.args)
-        runner.run_tests(tests)
+        try:
+            runner.run_tests(tests)
+        finally:
+            runner.cleanup()
         return runner.failed + runner.crashed
 
 
 def cli(runner_class=MarionetteTestRunner, parser_class=MarionetteArguments,
         harness_class=MarionetteHarness, testcase_class=MarionetteTestCase, args=None):
     """
     Call the harness to parse args and run tests.