OLD | NEW |
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """Class representing instrumentation test apk and jar.""" | 5 """Class representing instrumentation test apk and jar.""" |
6 | 6 |
7 import os | 7 import os |
8 | 8 |
9 from pylib.instrumentation import test_jar | 9 from pylib.instrumentation import test_jar |
10 from pylib.utils import apk_helper | 10 from pylib.utils import apk_helper |
11 | 11 |
12 | 12 |
13 class TestPackage(test_jar.TestJar): | 13 class TestPackage(test_jar.TestJar): |
14 def __init__(self, apk_path, jar_path): | 14 def __init__(self, apk_path, jar_path, test_support_apk_path): |
15 test_jar.TestJar.__init__(self, jar_path) | 15 test_jar.TestJar.__init__(self, jar_path) |
16 | 16 |
17 if not os.path.exists(apk_path): | 17 if not os.path.exists(apk_path): |
18 raise Exception('%s not found, please build it' % apk_path) | 18 raise Exception('%s not found, please build it' % apk_path) |
19 self._apk_path = apk_path | 19 self._apk_path = apk_path |
20 self._apk_name = os.path.splitext(os.path.basename(apk_path))[0] | 20 self._apk_name = os.path.splitext(os.path.basename(apk_path))[0] |
21 self._package_name = apk_helper.GetPackageName(self._apk_path) | 21 self._package_name = apk_helper.GetPackageName(self._apk_path) |
| 22 self._test_support_apk_path = test_support_apk_path |
22 | 23 |
23 def GetApkPath(self): | 24 def GetApkPath(self): |
24 """Returns the absolute path to the APK.""" | 25 """Returns the absolute path to the APK.""" |
25 return self._apk_path | 26 return self._apk_path |
26 | 27 |
27 def GetApkName(self): | 28 def GetApkName(self): |
28 """Returns the name of the apk without the suffix.""" | 29 """Returns the name of the apk without the suffix.""" |
29 return self._apk_name | 30 return self._apk_name |
30 | 31 |
31 def GetPackageName(self): | 32 def GetPackageName(self): |
32 """Returns the package name of this APK.""" | 33 """Returns the package name of this APK.""" |
33 return self._package_name | 34 return self._package_name |
34 | 35 |
35 # Override. | 36 # Override. |
36 def Install(self, device): | 37 def Install(self, device): |
37 device.Install(self.GetApkPath()) | 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) |
38 | 42 |
OLD | NEW |