1# Copyright (c) 2012 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
5"""This file is imported by python tests ran by run_python_tests.py."""
6
7import os
8
9import android_commands
10from run_java_tests import TestRunner
11
12
13def _GetPackageName(fname):
14  """Extracts the package name from the test file path."""
15  base_root = os.path.join('com', 'google', 'android')
16  dirname = os.path.dirname(fname)
17  package = dirname[dirname.rfind(base_root):]
18  return package.replace(os.sep, '.')
19
20
21def RunJavaTest(fname, suite, test, ports_to_forward):
22  device = android_commands.GetAttachedDevices()[0]
23  package_name = _GetPackageName(fname)
24  test = package_name + '.' + suite + '#' + test
25  java_test_runner = TestRunner(False, device, [test], False, False, False,
26                                False, 0, ports_to_forward)
27  return java_test_runner.Run()
28