OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """Installs deps for using SDK emulator for testing. | 6 """Installs deps for using SDK emulator for testing. |
7 | 7 |
8 The script will download system images, if they are not present, and | 8 The script will download system images, if they are not present, and |
9 install and enable KVM, if virtualization has been enabled in the BIOS. | 9 install and enable KVM, if virtualization has been enabled in the BIOS. |
10 """ | 10 """ |
(...skipping 16 matching lines...) Expand all Loading... |
27 X86_IMG_URL = 'http://download-software.intel.com/sites/landingpage/android/sysi
mg_x86-18_r01.zip' | 27 X86_IMG_URL = 'http://download-software.intel.com/sites/landingpage/android/sysi
mg_x86-18_r01.zip' |
28 | 28 |
29 # Android API level | 29 # Android API level |
30 API_TARGET = 'android-%s' % constants.ANDROID_SDK_VERSION | 30 API_TARGET = 'android-%s' % constants.ANDROID_SDK_VERSION |
31 | 31 |
32 | 32 |
33 def CheckSDK(): | 33 def CheckSDK(): |
34 """Check if SDK is already installed. | 34 """Check if SDK is already installed. |
35 | 35 |
36 Returns: | 36 Returns: |
37 True if android_tools directory exists in current directory. | 37 True if the third_party/android_tools/sdk directory exists. |
38 """ | 38 """ |
39 return os.path.exists(os.path.join(constants.EMULATOR_SDK_ROOT, | 39 return os.path.exists(constants.ANDROID_SDK_ROOT) |
40 'android_tools')) | |
41 | 40 |
42 | 41 |
43 def CheckARMv7Image(): | 42 def CheckARMv7Image(): |
44 """Check if the ARMv7 system images have been installed. | 43 """Check if the ARMv7 system images have been installed. |
45 | 44 |
46 Returns: | 45 Returns: |
47 True if the armeabi-v7a directory is present inside the Android SDK | 46 True if the armeabi-v7a directory is present inside the Android SDK |
48 checkout directory. | 47 checkout directory. |
49 """ | 48 """ |
50 return os.path.exists(os.path.join(constants.EMULATOR_SDK_ROOT, | 49 return os.path.exists(os.path.join(constants.ANDROID_SDK_ROOT, |
51 'android_tools', 'sdk', 'system-images', | 50 'system-images', |
52 API_TARGET, 'armeabi-v7a')) | 51 API_TARGET, |
| 52 'armeabi-v7a')) |
53 | 53 |
54 | 54 |
55 def CheckX86Image(): | 55 def CheckX86Image(): |
56 """Check if Android system images have been installed. | 56 """Check if Android system images have been installed. |
57 | 57 |
58 Returns: | 58 Returns: |
59 True if android_tools/sdk/system-images directory exists. | 59 True if the X86 system images exist in |
| 60 android_tools/sdk/system-images/<API TARGET>/x86. |
60 """ | 61 """ |
61 return os.path.exists(os.path.join(constants.EMULATOR_SDK_ROOT, | 62 return os.path.exists(os.path.join(constants.ANDROID_SDK_ROOT, |
62 'android_tools', 'sdk', 'system-images', | 63 'system-images', API_TARGET, 'x86')) |
63 API_TARGET, 'x86')) | |
64 | 64 |
65 | 65 |
66 def CheckKVM(): | 66 def CheckKVM(): |
67 """Check if KVM is enabled. | 67 """Check if KVM is enabled. |
68 | 68 |
69 Returns: | 69 Returns: |
70 True if kvm-ok returns 0 (already enabled) | 70 True if kvm-ok returns 0 (already enabled) |
71 """ | 71 """ |
72 try: | 72 try: |
73 return not cmd_helper.RunCmd(['kvm-ok']) | 73 return not cmd_helper.RunCmd(['kvm-ok']) |
(...skipping 23 matching lines...) Expand all Loading... |
97 | 97 |
98 | 98 |
99 def GetARMv7Image(): | 99 def GetARMv7Image(): |
100 """Download and install the ARMv7 system image.""" | 100 """Download and install the ARMv7 system image.""" |
101 logging.info('Download ARMv7 system image directory into sdk directory.') | 101 logging.info('Download ARMv7 system image directory into sdk directory.') |
102 try: | 102 try: |
103 cmd_helper.RunCmd(['curl', '-o', '/tmp/armv7_img.zip', ARMV7_IMG_URL]) | 103 cmd_helper.RunCmd(['curl', '-o', '/tmp/armv7_img.zip', ARMV7_IMG_URL]) |
104 rc = cmd_helper.RunCmd(['unzip', '-o', '/tmp/armv7_img.zip', '-d', '/tmp/']) | 104 rc = cmd_helper.RunCmd(['unzip', '-o', '/tmp/armv7_img.zip', '-d', '/tmp/']) |
105 if rc: | 105 if rc: |
106 raise Exception('ERROR: Could not download/unzip image zip.') | 106 raise Exception('ERROR: Could not download/unzip image zip.') |
107 sys_imgs = os.path.join(constants.EMULATOR_SDK_ROOT, 'android_tools', 'sdk', | 107 sys_imgs = os.path.join(constants.ANDROID_SDK_ROOT, 'system-images', |
108 'system-images', API_TARGET, 'armeabi-v7a') | 108 API_TARGET, 'armeabi-v7a') |
109 shutil.move('/tmp/armeabi-v7a', sys_imgs) | 109 shutil.move('/tmp/armeabi-v7a', sys_imgs) |
110 finally: | 110 finally: |
111 os.unlink('/tmp/armv7_img.zip') | 111 os.unlink('/tmp/armv7_img.zip') |
112 | 112 |
113 | 113 |
114 def GetX86Image(): | 114 def GetX86Image(): |
115 """Download x86 system image from Intel's website.""" | 115 """Download x86 system image from Intel's website.""" |
116 logging.info('Download x86 system image directory into sdk directory.') | 116 logging.info('Download x86 system image directory into sdk directory.') |
117 try: | 117 try: |
118 cmd_helper.RunCmd(['curl', '-o', '/tmp/x86_img.zip', X86_IMG_URL]) | 118 cmd_helper.RunCmd(['curl', '-o', '/tmp/x86_img.zip', X86_IMG_URL]) |
119 rc = cmd_helper.RunCmd(['unzip', '-o', '/tmp/x86_img.zip', '-d', '/tmp/']) | 119 rc = cmd_helper.RunCmd(['unzip', '-o', '/tmp/x86_img.zip', '-d', '/tmp/']) |
120 if rc: | 120 if rc: |
121 raise Exception('ERROR: Could not download/unzip image zip.') | 121 raise Exception('ERROR: Could not download/unzip image zip.') |
122 sys_imgs = os.path.join(constants.EMULATOR_SDK_ROOT, 'android_tools', 'sdk', | 122 sys_imgs = os.path.join(constants.ANDROID_SDK_ROOT, 'system-images', |
123 'system-images', API_TARGET, 'x86') | 123 API_TARGET, 'x86') |
124 shutil.move('/tmp/x86', sys_imgs) | 124 shutil.move('/tmp/x86', sys_imgs) |
125 finally: | 125 finally: |
126 os.unlink('/tmp/x86_img.zip') | 126 os.unlink('/tmp/x86_img.zip') |
127 | 127 |
128 | 128 |
129 def main(argv): | 129 def main(argv): |
130 logging.basicConfig(level=logging.INFO, | 130 logging.basicConfig(level=logging.INFO, |
131 format='# %(asctime)-15s: %(message)s') | 131 format='# %(asctime)-15s: %(message)s') |
132 run_tests_helper.SetLogLevel(verbose_count=1) | 132 run_tests_helper.SetLogLevel(verbose_count=1) |
133 | 133 |
(...skipping 18 matching lines...) Expand all Loading... |
152 | 152 |
153 # Make sure KVM packages are installed and enabled. | 153 # Make sure KVM packages are installed and enabled. |
154 if CheckKVM(): | 154 if CheckKVM(): |
155 logging.info('KVM already installed and enabled.') | 155 logging.info('KVM already installed and enabled.') |
156 else: | 156 else: |
157 InstallKVM() | 157 InstallKVM() |
158 | 158 |
159 | 159 |
160 if __name__ == '__main__': | 160 if __name__ == '__main__': |
161 sys.exit(main(sys.argv)) | 161 sys.exit(main(sys.argv)) |
OLD | NEW |