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

Side by Side Diff: tools/dom/dom.py

Issue 13251005: Put in a teardown for the docs test, fixed dom.py to actually run it correctly, added PRESUMBIT. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 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 | « tools/dom/docs/test/docs_test.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 2
3 # Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 3 # Copyright (c) 2013, 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 # A script which makes it easy to execute common DOM-related tasks 7 # A script which makes it easy to execute common DOM-related tasks
8 8
9 import os 9 import os
10 import subprocess 10 import subprocess
(...skipping 16 matching lines...) Expand all
27 ' dom.py gen test_drt html/element_test\n' 27 ' dom.py gen test_drt html/element_test\n'
28 '\n' 28 '\n'
29 'Or re-generate DOM classes and run the Dart analyzer:\n' 29 'Or re-generate DOM classes and run the Dart analyzer:\n'
30 ' dom.py gen analyze\n') 30 ' dom.py gen analyze\n')
31 print('Commands: ') 31 print('Commands: ')
32 for cmd in sorted(commands.keys()): 32 for cmd in sorted(commands.keys()):
33 print('\t%s - %s' % (cmd, commands[cmd][1])) 33 print('\t%s - %s' % (cmd, commands[cmd][1]))
34 34
35 def analyze(): 35 def analyze():
36 ''' Runs the dart analyzer. ''' 36 ''' Runs the dart analyzer. '''
37 call([ 37 return call([
38 os.path.join(dart_out_dir, 'dart-sdk', 'bin', 'dart_analyzer'), 38 os.path.join(dart_out_dir, 'dart-sdk', 'bin', 'dart_analyzer'),
39 os.path.join('tests', 'html', 'element_test.dart'), 39 os.path.join('tests', 'html', 'element_test.dart'),
40 '--dart-sdk', 'sdk', 40 '--dart-sdk', 'sdk',
41 '--show-sdk-warnings', 41 '--show-sdk-warnings',
42 ]) 42 ])
43 43
44 def build(): 44 def build():
45 ''' Builds the Dart binary ''' 45 ''' Builds the Dart binary '''
46 call([ 46 return call([
47 os.path.join('tools', 'build.py'), 47 os.path.join('tools', 'build.py'),
48 '--mode=release', 48 '--mode=release',
49 '--arch=ia32', 49 '--arch=ia32',
50 'runtime', 50 'runtime',
51 ]) 51 ])
52 52
53 def dart2js(): 53 def dart2js():
54 compile_dart2js(argv.pop(0), True) 54 compile_dart2js(argv.pop(0), True)
55 55
56 def dartc(): 56 def dartc():
57 call([ 57 return call([
58 os.path.join('tools', 'test.py'), 58 os.path.join('tools', 'test.py'),
59 '-m', 59 '-m',
60 'release', 60 'release',
61 '-c', 61 '-c',
62 'dartc', 62 'dartc',
63 '-r', 63 '-r',
64 'none' 64 'none'
65 ]) 65 ])
66 66
67 def docs():
68 return call([
69 os.path.join(dart_out_dir, 'dart-sdk', 'bin', 'dart'),
70 '--package-root=%s' % os.path.join(dart_out_dir, 'packages/'),
71 os.path.join('tools', 'dom', 'docs', 'bin', 'docs.dart'),
72 ])
73
74 def test_docs():
75 return call([
76 os.path.join('tools', 'test.py'),
77 '--mode=release',
78 '--checked',
79 'docs'
80 ])
81
67 def compile_dart2js(dart_file, checked): 82 def compile_dart2js(dart_file, checked):
68 out_file = dart_file + '.js' 83 out_file = dart_file + '.js'
69 dart2js_path = os.path.join(dart_out_dir, 'dart-sdk', 'bin', 'dart2js') 84 dart2js_path = os.path.join(dart_out_dir, 'dart-sdk', 'bin', 'dart2js')
70 args = [ 85 args = [
71 dart2js_path, 86 dart2js_path,
72 dart_file, 87 dart_file,
73 '--library-root=sdk/', 88 '--library-root=sdk/',
74 '--disallow-unsafe-eval', 89 '--disallow-unsafe-eval',
75 '-o%s' % out_file 90 '-o%s' % out_file
76 ] 91 ]
77 if checked: 92 if checked:
78 args.append('--checked') 93 args.append('--checked')
79 94
80 call(args) 95 call(args)
81 return out_file 96 return out_file
82 97
83 def gen(): 98 def gen():
84 os.chdir(os.path.join('tools', 'dom', 'scripts')) 99 os.chdir(os.path.join('tools', 'dom', 'scripts'))
85 call([ 100 return call(os.path.join(os.getcwd(), 'go.sh'))
86 'go.sh',
87 ])
88 101
89 def http_server(): 102 def http_server():
90 print('Browse tests at ' 103 print('Browse tests at '
91 '\033[94mhttp://localhost:5400/root_build/generated_tests/\033[0m') 104 '\033[94mhttp://localhost:5400/root_build/generated_tests/\033[0m')
92 call([ 105 return call([
93 utils.DartBinary(), 106 utils.DartBinary(),
94 os.path.join('tools', 'testing', 'dart', 'http_server.dart'), 107 os.path.join('tools', 'testing', 'dart', 'http_server.dart'),
95 '--port=5400', 108 '--port=5400',
96 '--crossOriginPort=5401', 109 '--crossOriginPort=5401',
97 '--network=0.0.0.0', 110 '--network=0.0.0.0',
98 '--build-directory=%s' % os.path.join('out', 'ReleaseIA32') 111 '--build-directory=%s' % os.path.join('out', 'ReleaseIA32')
99 ]) 112 ])
100 113
101 def size_check(): 114 def size_check():
102 ''' Displays the dart2js size of swarm. ''' 115 ''' Displays the dart2js size of swarm. '''
103 dart_file = os.path.join('samples', 'swarm', 'swarm.dart') 116 dart_file = os.path.join('samples', 'swarm', 'swarm.dart')
104 out_file = compile_dart2js(dart_file, False) 117 out_file = compile_dart2js(dart_file, False)
105 118
106 subprocess.call([ 119 return call([
107 'du', 120 'du',
108 '-kh', 121 '-kh',
109 '--apparent-size', 122 '--apparent-size',
110 out_file, 123 out_file,
111 ]) 124 ])
112 125
113 os.remove(out_file) 126 os.remove(out_file)
114 os.remove(out_file + '.deps') 127 os.remove(out_file + '.deps')
115 os.remove(out_file + '.map') 128 os.remove(out_file + '.map')
116 129
(...skipping 15 matching lines...) Expand all
132 '--checked', 145 '--checked',
133 '--arch=ia32', 146 '--arch=ia32',
134 '-v', 147 '-v',
135 ] 148 ]
136 if argv: 149 if argv:
137 cmd.append(argv.pop(0)) 150 cmd.append(argv.pop(0))
138 else: 151 else:
139 print( 152 print(
140 'Test commands should be followed by tests to run. Defaulting to html') 153 'Test commands should be followed by tests to run. Defaulting to html')
141 cmd.append('html') 154 cmd.append('html')
142 call(cmd) 155 return call(cmd)
143 156
144 def call(args): 157 def call(args):
145 print (' '.join(args)) 158 print ' '.join(args)
146 subprocess.call(args) 159 return subprocess.call(args,
160 stdout=subprocess.STDOUT,
161 stderr=subprocess.STDERR)
147 162
148 def init_dir(): 163 def init_dir():
149 ''' Makes sure that we're always rooted in the dart root folder.''' 164 ''' Makes sure that we're always rooted in the dart root folder.'''
150 dart_dir = os.path.abspath(os.path.join( 165 dart_dir = os.path.abspath(os.path.join(
151 os.path.dirname(os.path.realpath(__file__)), 166 os.path.dirname(os.path.realpath(__file__)),
152 os.path.pardir, os.path.pardir)) 167 os.path.pardir, os.path.pardir))
153 os.chdir(dart_dir) 168 os.chdir(dart_dir)
154 169
155 commands = { 170 commands = {
156 'analyze': [analyze, 'Run the dart analyzer'], 171 'analyze': [analyze, 'Run the dart analyzer'],
157 'build': [build, 'Build dart in release mode'], 172 'build': [build, 'Build dart in release mode'],
158 'dart2js': [dart2js, 'Run dart2js on the .dart file specified'], 173 'dart2js': [dart2js, 'Run dart2js on the .dart file specified'],
159 'dartc': [dartc, 'Runs dartc in release mode'], 174 'dartc': [dartc, 'Runs dartc in release mode'],
175 'docs': [docs, 'Generates docs.json'],
160 'gen': [gen, 'Re-generate DOM generated files (run go.sh)'], 176 'gen': [gen, 'Re-generate DOM generated files (run go.sh)'],
161 'size_check': [size_check, 'Check the size of dart2js compiled Swarm'], 177 'size_check': [size_check, 'Check the size of dart2js compiled Swarm'],
178 'test_docs': [test_docs, 'Tests docs.dart'],
162 'test_chrome': [test_chrome, 'Run tests in checked mode in Chrome.\n' 179 'test_chrome': [test_chrome, 'Run tests in checked mode in Chrome.\n'
163 '\t\tOptionally provide name of test to run.'], 180 '\t\tOptionally provide name of test to run.'],
164 'test_drt': [test_drt, 'Run tests in checked mode in DumpRenderTree.\n' 181 'test_drt': [test_drt, 'Run tests in checked mode in DumpRenderTree.\n'
165 '\t\tOptionally provide name of test to run.'], 182 '\t\tOptionally provide name of test to run.'],
166 'test_ff': [test_ff, 'Run tests in checked mode in Firefox.\n' 183 'test_ff': [test_ff, 'Run tests in checked mode in Firefox.\n'
167 '\t\tOptionally provide name of test to run.'], 184 '\t\tOptionally provide name of test to run.'],
168 'http_server': [http_server, 'Starts the testing server for manually ' 185 'http_server': [http_server, 'Starts the testing server for manually '
169 'running browser tests.'], 186 'running browser tests.'],
170 } 187 }
171 188
172 def main(argv): 189 def main(argv):
190 success = True
173 argv.pop(0) 191 argv.pop(0)
174 192
175 if not argv: 193 if not argv:
176 help() 194 help()
195 success = False
177 196
178 while (argv): 197 while (argv):
179 init_dir() 198 init_dir()
180 command = argv.pop(0) 199 command = argv.pop(0)
181 200
182 if not command in commands: 201 if not command in commands:
183 help(); 202 help();
184 return 203 success = False
185 commands[command][0]() 204 break
205 success = success and bool(commands[command][0]())
206
207 sys.exit(not success)
186 208
187 if __name__ == '__main__': 209 if __name__ == '__main__':
188 main(sys.argv) 210 main(sys.argv)
OLDNEW
« no previous file with comments | « tools/dom/docs/test/docs_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698