• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2013 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"""Class representing instrumentation test apk and jar."""
6
7import os
8
9from pylib.instrumentation import test_jar
10from pylib.utils import apk_helper
11
12
13class TestPackage(test_jar.TestJar):
14  def __init__(self, apk_path, jar_path):
15    test_jar.TestJar.__init__(self, jar_path)
16
17    if not os.path.exists(apk_path):
18      raise Exception('%s not found, please build it' % apk_path)
19    self._apk_path = apk_path
20    self._apk_name = os.path.splitext(os.path.basename(apk_path))[0]
21    self._package_name = apk_helper.GetPackageName(self._apk_path)
22
23  def GetApkPath(self):
24    """Returns the absolute path to the APK."""
25    return self._apk_path
26
27  def GetApkName(self):
28    """Returns the name of the apk without the suffix."""
29    return self._apk_name
30
31  def GetPackageName(self):
32    """Returns the package name of this APK."""
33    return self._package_name
34
35  # Override.
36  def Install(self, device):
37    device.Install(self.GetApkPath())
38
39