OLD | NEW |
---|---|
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # | 2 # |
3 # Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 3 # Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
4 # for details. All rights reserved. Use of this source code is governed by a | 4 # for details. All rights reserved. Use of this source code is governed by a |
5 # BSD-style license that can be found in the LICENSE file. | 5 # BSD-style license that can be found in the LICENSE file. |
6 | 6 |
7 # Gets or updates a DumpRenderTree (a nearly headless build of chrome). This is | 7 # Gets or updates a DumpRenderTree (a nearly headless build of chrome). This is |
8 # used for running browser tests of client applications. | 8 # used for running browser tests of client applications. |
9 | 9 |
10 import json | 10 import json |
(...skipping 16 matching lines...) Expand all Loading... | |
27 os.chdir(dart_src) | 27 os.chdir(dart_src) |
28 | 28 |
29 GSUTIL_DIR = os.path.join('third_party', 'gsutil') | 29 GSUTIL_DIR = os.path.join('third_party', 'gsutil') |
30 GSUTIL = GSUTIL_DIR + '/gsutil' | 30 GSUTIL = GSUTIL_DIR + '/gsutil' |
31 | 31 |
32 DRT_DIR = os.path.join('client', 'tests', 'drt') | 32 DRT_DIR = os.path.join('client', 'tests', 'drt') |
33 DRT_VERSION = os.path.join(DRT_DIR, 'LAST_VERSION') | 33 DRT_VERSION = os.path.join(DRT_DIR, 'LAST_VERSION') |
34 DRT_LATEST_PATTERN = ( | 34 DRT_LATEST_PATTERN = ( |
35 'gs://dartium-archive/latest/drt-%(osname)s-inc-*.zip') | 35 'gs://dartium-archive/latest/drt-%(osname)s-inc-*.zip') |
36 DRT_PERMANENT_PATTERN = ('gs://dartium-archive/drt-%(osname)s-inc/drt-' | 36 DRT_PERMANENT_PATTERN = ('gs://dartium-archive/drt-%(osname)s-inc/drt-' |
37 '%(osname)s-inc-%(num)s.%(num)s.zip') | 37 '%(osname)s-inc-%(num1)s.%(num2)s.zip') |
38 | 38 |
39 DARTIUM_DIR = os.path.join('client', 'tests', 'dartium') | 39 DARTIUM_DIR = os.path.join('client', 'tests', 'dartium') |
40 DARTIUM_VERSION = os.path.join(DARTIUM_DIR, 'LAST_VERSION') | 40 DARTIUM_VERSION = os.path.join(DARTIUM_DIR, 'LAST_VERSION') |
41 DARTIUM_LATEST_PATTERN = ( | 41 DARTIUM_LATEST_PATTERN = ( |
42 'gs://dartium-archive/latest/dartium-%(osname)s-inc-*.zip') | 42 'gs://dartium-archive/latest/dartium-%(osname)s-inc-*.zip') |
43 DARTIUM_PERMANENT_PATTERN = ('gs://dartium-archive/dartium-%(osname)s-inc/' | 43 DARTIUM_PERMANENT_PATTERN = ('gs://dartium-archive/dartium-%(osname)s-inc/' |
44 'dartium-%(osname)s-inc-%(num)s.%(num)s.zip') | 44 'dartium-%(osname)s-inc-%(num1)s.%(num2)s.zip') |
45 | 45 |
46 CHROMEDRIVER_DIR = os.path.join('tools', 'testing', 'dartium-chromedriver') | 46 CHROMEDRIVER_DIR = os.path.join('tools', 'testing', 'dartium-chromedriver') |
47 CHROMEDRIVER_VERSION = os.path.join(CHROMEDRIVER_DIR, 'LAST_VERSION') | 47 CHROMEDRIVER_VERSION = os.path.join(CHROMEDRIVER_DIR, 'LAST_VERSION') |
48 CHROMEDRIVER_LATEST_PATTERN = ( | 48 CHROMEDRIVER_LATEST_PATTERN = ( |
49 'gs://dartium-archive/latest/chromedriver-%(osname)s-inc-*.zip') | 49 'gs://dartium-archive/latest/chromedriver-%(osname)s-inc-*.zip') |
50 CHROMEDRIVER_PERMANENT_PATTERN = ('gs://dartium-archive/chromedriver-%(osname)s' | 50 CHROMEDRIVER_PERMANENT_PATTERN = ('gs://dartium-archive/chromedriver-%(osname)s' |
51 '-inc/chromedriver-%(osname)s-inc-%(num)s.' | 51 '-inc/chromedriver-%(osname)s-inc-%(num1)s.' |
52 '%(num)s.zip') | 52 '%(num2)s.zip') |
53 | 53 |
54 SDK_DIR = os.path.join(utils.GetBuildRoot(utils.GuessOS(), 'release', 'ia32'), | 54 SDK_DIR = os.path.join(utils.GetBuildRoot(utils.GuessOS(), 'release', 'ia32'), |
55 'dart-sdk') | 55 'dart-sdk') |
56 SDK_VERSION = os.path.join(SDK_DIR, 'LAST_VERSION') | 56 SDK_VERSION = os.path.join(SDK_DIR, 'LAST_VERSION') |
57 SDK_LATEST_PATTERN = 'gs://dart-editor-archive-continuous/latest/VERSION' | 57 SDK_LATEST_PATTERN = 'gs://dart-editor-archive-continuous/latest/VERSION' |
58 # TODO(efortuna): Once the x64 VM also is optimized, select the version | 58 # TODO(efortuna): Once the x64 VM also is optimized, select the version |
59 # based on whether we are running on a 32-bit or 64-bit system. | 59 # based on whether we are running on a 32-bit or 64-bit system. |
60 SDK_PERMANENT = ('gs://dart-editor-archive-continuous/%(version_num)s/' + | 60 SDK_PERMANENT = ('gs://dart-editor-archive-continuous/%(version_num)s/' + |
61 'dartsdk-%(osname)s-32.zip') | 61 'dartsdk-%(osname)s-32.zip') |
62 | 62 |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
125 permanent_prefix, revision_num=None): | 125 permanent_prefix, revision_num=None): |
126 """Get the latest binary that is stored in the dartium archive. | 126 """Get the latest binary that is stored in the dartium archive. |
127 | 127 |
128 Args: | 128 Args: |
129 name: the name of the desired download. | 129 name: the name of the desired download. |
130 directory: target directory (recreated) to install binary | 130 directory: target directory (recreated) to install binary |
131 version_file: name of file with the current version stamp | 131 version_file: name of file with the current version stamp |
132 latest_pattern: the google store url pattern pointing to the latest binary | 132 latest_pattern: the google store url pattern pointing to the latest binary |
133 permanent_prefix: stable google store folder used to download versions | 133 permanent_prefix: stable google store folder used to download versions |
134 revision_num: The desired revision number to retrieve. If revision_num is | 134 revision_num: The desired revision number to retrieve. If revision_num is |
135 None, we return the latest revision. | 135 None, we return the latest revision. |
vsm
2012/08/13 23:12:57
Perhaps clarify the comment. E.g., "If the revisi
Emily Fortuna
2012/08/13 23:16:42
Done.
| |
136 """ | 136 """ |
137 osdict = {'Darwin':'mac', 'Linux':'lucid64', 'Windows':'win'} | 137 osdict = {'Darwin':'mac', 'Linux':'lucid64', 'Windows':'win'} |
138 | 138 |
139 def find_permanent_url(out, osname, revision_num): | 139 def find_permanent_url(out, osname, revision_num): |
140 output_lines = out.split() | 140 output_lines = out.split() |
141 latest = output_lines[-1] | 141 latest = output_lines[-1] |
142 if not revision_num: | 142 if not revision_num: |
143 revision_num = latest[latest.rindex('-') + 1 : latest.index('.')] | 143 revision_num = latest[latest.rindex('-') + 1 : latest.index('.')] |
144 latest = (permanent_prefix % { 'osname' : osname, 'num' : revision_num }) | 144 latest = (permanent_prefix[:permanent_prefix.rindex('/')] % { 'osname' : |
145 osname, 'num' : revision_num } + latest[latest.rindex('/'):]) | |
vsm
2012/08/13 23:12:57
The 'num' doesn't appear the patterns above. Do y
Emily Fortuna
2012/08/13 23:16:42
Nope. Fixed!
| |
146 else: | |
147 latest = (permanent_prefix % { 'osname' : osname, 'num1' : revision_num, | |
148 'num2' : revision_num }) | |
149 foundURL = False | |
150 while not foundURL: | |
151 # Test to ensure this URL exists because the dartium-archive builds can | |
152 # have unusual numbering (a range of CL numbers) sometimes. | |
153 result, out = gsutil('ls', permanent_prefix % {'osname' : osname, | |
154 'num1': '*', 'num2': revision_num }) | |
155 if result == 0: | |
156 # First try to find one with the the second number the same as the | |
157 # requested number. | |
158 latest = out.split()[0] | |
159 foundURL = True | |
160 else: | |
161 # Now try to find one with a nearby CL num. | |
162 revision_num = int(revision_num) - 1 | |
163 print latest | |
vsm
2012/08/13 23:12:57
Debugging print you left in?
Emily Fortuna
2012/08/13 23:16:42
Yes, removed.
| |
145 return latest | 164 return latest |
146 | 165 |
147 get_from_gsutil(name, directory, version_file, latest_pattern, osdict, | 166 get_from_gsutil(name, directory, version_file, latest_pattern, osdict, |
148 find_permanent_url, revision_num) | 167 find_permanent_url, revision_num) |
149 | 168 |
150 def get_sdk_revision(name, directory, version_file, latest_pattern, | 169 def get_sdk_revision(name, directory, version_file, latest_pattern, |
151 permanent_prefix, revision_num): | 170 permanent_prefix, revision_num): |
152 """Get a revision of the SDK from the editor build archive. | 171 """Get a revision of the SDK from the editor build archive. |
153 | 172 |
154 Args: | 173 Args: |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
290 elif positional[0] == 'drt': | 309 elif positional[0] == 'drt': |
291 get_dartium_revision('DumpRenderTree', DRT_DIR, DRT_VERSION, | 310 get_dartium_revision('DumpRenderTree', DRT_DIR, DRT_VERSION, |
292 DRT_LATEST_PATTERN, DRT_PERMANENT_PATTERN, | 311 DRT_LATEST_PATTERN, DRT_PERMANENT_PATTERN, |
293 args.revision) | 312 args.revision) |
294 else: | 313 else: |
295 print ('Please specify the target you wish to download from Google Storage ' | 314 print ('Please specify the target you wish to download from Google Storage ' |
296 '("drt", "dartium", "chromedriver", or "sdk")') | 315 '("drt", "dartium", "chromedriver", or "sdk")') |
297 | 316 |
298 if __name__ == '__main__': | 317 if __name__ == '__main__': |
299 sys.exit(main()) | 318 sys.exit(main()) |
OLD | NEW |