Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / build / android / pylib / instrumentation / test_package.py
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, test_support_apk_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     self._test_support_apk_path = test_support_apk_path
23
24   def GetApkPath(self):
25     """Returns the absolute path to the APK."""
26     return self._apk_path
27
28   def GetApkName(self):
29     """Returns the name of the apk without the suffix."""
30     return self._apk_name
31
32   def GetPackageName(self):
33     """Returns the package name of this APK."""
34     return self._package_name
35
36   # Override.
37   def Install(self, device):
38     device.Install(self.GetApkPath())
39     if (self._test_support_apk_path and
40         os.path.exists(self._test_support_apk_path)):
41       device.Install(self._test_support_apk_path)
42