Index: build/android/pylib/junit/test_dispatcher.py |
diff --git a/build/android/pylib/junit/test_dispatcher.py b/build/android/pylib/junit/test_dispatcher.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6e0d865c3f5688303c4ee708bdbf42748d825302 |
--- /dev/null |
+++ b/build/android/pylib/junit/test_dispatcher.py |
@@ -0,0 +1,28 @@ |
+# Copyright 2014 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+from pylib import constants |
+from pylib.base import base_test_result |
+ |
+def RunTests(tests, runner_factory): |
+ """Runs a set of java tests on the host. |
+ |
+ Return: |
+ A tuple containing the results & the exit code. |
+ """ |
+ def run(t): |
+ runner = runner_factory(None, None) |
+ runner.SetUp() |
+ results_list, return_code = runner.RunTest(t) |
+ runner.TearDown() |
+ return (results_list, return_code == 0) |
+ |
+ test_run_results = base_test_result.TestRunResults() |
+ exit_code = 0 |
+ for t in tests: |
+ results_list, passed = run(t) |
+ test_run_results.AddResults(results_list) |
+ if not passed: |
+ exit_code = constants.ERROR_EXIT_CODE |
+ return (test_run_results, exit_code) |