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 Tucciimport os
61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccifrom pylib import cmd_helper
81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccifrom pylib import constants
91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciclass JavaTestRunner(object):
111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  """Runs java tests on the host."""
121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  def __init__(self, options):
141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    self._package_filter = options.package_filter
151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    self._runner_filter = options.runner_filter
161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    self._sdk_version = options.sdk_version
171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    self._test_filter = options.test_filter
181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    self._test_suite = options.test_suite
191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  def SetUp(self):
211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    pass
221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  def RunTest(self, _test):
241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    """Runs junit tests from |self._test_suite|."""
251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    command = ['java',
261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci               '-jar', os.path.join(constants.GetOutDirectory(), 'lib.java',
271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                    '%s.jar' % self._test_suite)]
281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    if self._test_filter:
291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      command.extend(['-gtest-filter', self._test_filter])
301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    if self._package_filter:
311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      command.extend(['-package-filter', self._package_filter])
321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    if self._runner_filter:
331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      command.extend(['-runner-filter', self._runner_filter])
341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    if self._sdk_version:
351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      command.extend(['-sdk-version', self._sdk_version])
361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    return cmd_helper.RunCmd(command)
371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  def TearDown(self):
391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    pass
401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
41