11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# Copyright 2014 The Chromium Authors. All rights reserved.
21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# Use of this source code is governed by a BSD-style license that can be
31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# found in the LICENSE file.
41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidef RunTests(tests, runner_factory):
61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  """Runs a set of java tests on the host.
71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  Return:
91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    A tuple containing the results & the exit code.
101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  """
111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  def run(t):
121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    runner = runner_factory(None, None)
131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    runner.SetUp()
141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    result = runner.RunTest(t)
151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    runner.TearDown()
161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    return result == 0
171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  return (None, 0 if all(run(t) for t in tests) else 1)
191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
20