Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(55)

Side by Side Diff: dartium_tools/test.py

Issue 239993009: Revert accidental dartium code push (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « dartium_tools/supplement.gypi ('k') | dartium_tools/update_deps.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 #!/usr/bin/env python
2 #
3 # Copyright 2011 Google Inc. All Rights Reserved.
4
5 import fnmatch
6 import optparse
7 import os
8 import re
9 import shutil
10 import subprocess
11 import sys
12 import urllib
13 import utils
14
15 SCRIPT_TAG = '<script type="application/%s" src="%s"></script>\n'
16
17 DART_TEST_DIR = os.path.join('dart')
18
19 DART_VM_FLAGS = [
20 ]
21 DART_VM_CHECKED_FLAGS = DART_VM_FLAGS + [
22 '--enable_type_checks',
23 '--warning_as_error',
24 ]
25
26 TEST_DRT_FLAGS = [
27 '--compiler=none',
28 '--runtime=drt',
29 '--drt=%(drt)s',
30 '--mode=%(mode)s',
31 '--arch=%(arch)s',
32 '--build-directory=%(build_dir)s',
33 '--report',
34 '--time',
35 ]
36
37 TEST_DRT_CHECKED_FLAGS = TEST_DRT_FLAGS + [
38 '--checked',
39 ]
40
41 TEST_DARTIUM_FLAGS = [
42 '--compiler=none',
43 '--runtime=dartium',
44 '--dartium=%(dartium)s',
45 '--mode=%(mode)s',
46 '--build-directory=%(build_dir)s',
47 '--report',
48 '--time',
49 ]
50
51 TEST_DARTIUM_CHECKED_FLAGS = TEST_DARTIUM_FLAGS + [
52 '--checked',
53 ]
54
55 TEST_INFO = {
56 'dartium': {
57 'core': {
58 'checked': TEST_DARTIUM_CHECKED_FLAGS,
59 'unchecked': TEST_DARTIUM_FLAGS,
60 },
61 },
62 'drt': {
63 'layout': {
64 'checked': DART_VM_CHECKED_FLAGS,
65 'unchecked': DART_VM_FLAGS,
66 },
67 'core': {
68 'checked': TEST_DRT_CHECKED_FLAGS,
69 'unchecked': TEST_DRT_FLAGS,
70 },
71 },
72 }
73
74 COMPONENTS = TEST_INFO.keys()
75 SUITES = [ 'layout', 'core' ]
76
77 def main():
78 parser = optparse.OptionParser()
79 parser.add_option('--mode', dest='mode',
80 action='store', type='string',
81 help='Test mode (Debug or Release)')
82 parser.add_option('--component', dest='component',
83 default='drt',
84 action='store', type='string',
85 help='Execution mode (dartium, drt or all)')
86 parser.add_option('--suite', dest='suite',
87 default='all',
88 action='store', type='string',
89 help='Test suite (layout, core, or all)')
90 parser.add_option('--arch', dest='arch',
91 default='ia32',
92 action='store', type='string',
93 help='Target architecture')
94 parser.add_option('--no-show-results', action='store_false',
95 default=True, dest='show_results',
96 help='Don\'t launch a browser with results '
97 'after the tests are done')
98 parser.add_option('--checked', action='store_true',
99 default=False, dest='checked',
100 help='Run Dart code in checked mode')
101 parser.add_option('--unchecked', action='store_true',
102 default=False, dest='unchecked',
103 help='Run Dart code in unchecked mode')
104 parser.add_option('--buildbot', action='store_true',
105 default=False, dest='buildbot',
106 help='Print results in buildbot format')
107 parser.add_option('--layout-test', dest='layout_test',
108 default=None,
109 action='store', type='string',
110 help='Single layout test to run if set')
111 parser.add_option('--test-filter', dest='test_filter',
112 default=None,
113 action='store', type='string',
114 help='Test filter for core tests')
115 parser.add_option('--win-ninja-build', action='store_true',
116 default=False, dest='is_win_ninja',
117 help='We are on windows and use ninja for building.')
118
119 (options, args) = parser.parse_args()
120 mode = options.mode
121 if not (mode in ['Debug', 'Release']):
122 raise Exception('Invalid test mode')
123
124 if options.component == 'all':
125 components = COMPONENTS
126 elif not (options.component in COMPONENTS):
127 raise Exception('Invalid component %s' % options.component)
128 else:
129 components = [ options.component ]
130
131 if options.suite == 'all':
132 suites = SUITES
133 elif not (options.suite in SUITES):
134 raise Exception('Invalid suite %s' % options.suite)
135 else:
136 suites = [ options.suite ]
137
138 # If --checked or --unchecked not present, run with both.
139 checkmodes = ['unchecked', 'checked']
140 if options.checked or options.unchecked:
141 checkmodes = []
142 if options.unchecked: checkmodes.append('unchecked')
143 if options.checked: checkmodes.append('checked')
144
145 pathname = os.path.dirname(sys.argv[0])
146 fullpath = os.path.abspath(pathname)
147 srcpath = os.path.normpath(os.path.join(fullpath, '..'))
148
149 test_mode = ''
150 timeout = 30000
151 if mode == 'Debug':
152 test_mode = '--debug'
153 timeout = 60000
154
155 show_results = ''
156 if not options.show_results:
157 show_results = '--no-show-results'
158
159 host_os = utils.guessOS()
160 if options.is_win_ninja:
161 host_os = 'win-ninja'
162 build_root, drt_path, dartium_path, dart_path = {
163 'mac': (
164 'out',
165 os.path.join('Content Shell.app', 'Contents', 'MacOS', 'Content Shell'),
166 os.path.join('Chromium.app', 'Contents', 'MacOS', 'Chromium'),
167 'dart',
168 ),
169 'linux': ('out', 'content_shell', 'chrome', 'dart'),
170 'win': ('out', 'content_shell.exe', 'chrome.exe', 'dart.exe'),
171 'win-ninja': ('out', 'content_shell.exe', 'chrome.exe', 'dart.exe'),
172 }[host_os]
173
174 build_dir = os.path.join(srcpath, build_root, mode)
175
176 executable_map = {
177 'mode': mode.lower(),
178 'build_dir': os.path.relpath(build_dir),
179 'drt': os.path.join(build_dir, drt_path),
180 'dartium': os.path.join(build_dir, dartium_path),
181 'dart': os.path.join(build_dir, dart_path),
182 'arch': options.arch,
183 }
184
185 test_script = os.path.join(srcpath, 'webkit', 'tools', 'layout_tests',
186 'run_webkit_tests.py')
187
188 errors = False
189 for component in components:
190 for checkmode in checkmodes:
191 # Capture errors and report at the end.
192 try:
193 if ('layout' in suites and
194 'layout' in TEST_INFO[component] and
195 checkmode in TEST_INFO[component]['layout']):
196 # Run layout tests in this mode
197 dart_flags = ' '.join(TEST_INFO[component]['layout'][checkmode])
198
199 if options.layout_test:
200 test = os.path.join(DART_TEST_DIR, options.layout_test)
201 else:
202 test = DART_TEST_DIR
203 package_root = os.path.join(build_dir, 'packages')
204 utils.runCommand(['python',
205 test_script,
206 test_mode,
207 show_results,
208 '--time-out-ms', str(timeout),
209 # Temporary hack to fix issue with svn vs. svn.bat.
210 '--builder-name', 'BuildBot',
211 '--additional-env-var',
212 'DART_FLAGS=%s' % dart_flags,
213 '--additional-env-var',
214 'DART_PACKAGE_ROOT=file://%s' % package_root,
215 test])
216
217 # Run core dart tests
218 if ('core' in suites and
219 'core' in TEST_INFO[component] and
220 checkmode in TEST_INFO[component]['core']):
221 core_flags = TEST_INFO[component]['core'][checkmode]
222 core_flags = map(lambda flag: flag % executable_map, core_flags)
223 if options.buildbot:
224 core_flags = ['--progress=buildbot'] + core_flags
225 tester = os.path.join(srcpath, 'dart', 'tools', 'test.py')
226 test_filter = [options.test_filter] if options.test_filter else []
227 utils.runCommand(['python', tester] + core_flags + test_filter)
228 except (StandardError, Exception) as e:
229 print 'Fail: ' + str(e)
230 errors = True
231
232 if errors:
233 return 1
234 else:
235 return 0
236
237 if __name__ == '__main__':
238 try:
239 sys.exit(main())
240 except StandardError as e:
241 print 'Fail: ' + str(e)
242 sys.exit(1)
OLDNEW
« no previous file with comments | « dartium_tools/supplement.gypi ('k') | dartium_tools/update_deps.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698