1# Copyright 2014 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5from pylib import constants 6from pylib.base import base_test_result 7 8def RunTests(tests, runner_factory): 9 """Runs a set of java tests on the host. 10 11 Return: 12 A tuple containing the results & the exit code. 13 """ 14 def run(t): 15 runner = runner_factory(None, None) 16 runner.SetUp() 17 results_list, return_code = runner.RunTest(t) 18 runner.TearDown() 19 return (results_list, return_code == 0) 20 21 test_run_results = base_test_result.TestRunResults() 22 exit_code = 0 23 for t in tests: 24 results_list, passed = run(t) 25 test_run_results.AddResults(results_list) 26 if not passed: 27 exit_code = constants.ERROR_EXIT_CODE 28 return (test_run_results, exit_code) 29 30