Home | History | Annotate | Download | only in instrumentation
      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 
      7 import os
      8 
      9 from pylib.instrumentation import test_jar
     10 from pylib.utils import apk_helper
     11 
     12 
     13 class 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