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

Side by Side Diff: Tools/Scripts/webkitpy/bindings/main.py

Issue 556453005: Added component dir to bindings tests for binding modularization. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 3 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 | « Source/bindings/tests/results/V8TestTypedefs.h ('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 # Copyright (C) 2011 Google Inc. All rights reserved. 1 # Copyright (C) 2011 Google Inc. All rights reserved.
2 # 2 #
3 # Redistribution and use in source and binary forms, with or without 3 # Redistribution and use in source and binary forms, with or without
4 # modification, are permitted provided that the following conditions 4 # modification, are permitted provided that the following conditions
5 # are met: 5 # are met:
6 # 1. Redistributions of source code must retain the above copyright 6 # 1. Redistributions of source code must retain the above copyright
7 # notice, this list of conditions and the following disclaimer. 7 # notice, this list of conditions and the following disclaimer.
8 # 2. Redistributions in binary form must reproduce the above copyright 8 # 2. Redistributions in binary form must reproduce the above copyright
9 # notice, this list of conditions and the following disclaimer in the 9 # notice, this list of conditions and the following disclaimer in the
10 # documentation and/or other materials provided with the distribution. 10 # documentation and/or other materials provided with the distribution.
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 NOTRY=true 57 NOTRY=true
58 TBR=(someone in Source/bindings/OWNERS or WATCHLISTS:bindings) 58 TBR=(someone in Source/bindings/OWNERS or WATCHLISTS:bindings)
59 """ 59 """
60 60
61 DEPENDENCY_IDL_FILES = frozenset([ 61 DEPENDENCY_IDL_FILES = frozenset([
62 'TestImplements.idl', 62 'TestImplements.idl',
63 'TestImplements2.idl', 63 'TestImplements2.idl',
64 'TestImplements3.idl', 64 'TestImplements3.idl',
65 'TestPartialInterface.idl', 65 'TestPartialInterface.idl',
66 'TestPartialInterface2.idl', 66 'TestPartialInterface2.idl',
67 'TestPartialInterface3.idl',
67 ]) 68 ])
68 69
70 COMPONENT_DIRECTORY = frozenset(['core', 'modules'])
69 71
70 test_input_directory = os.path.join(source_path, 'bindings', 'tests', 'idls') 72 test_input_directory = os.path.join(source_path, 'bindings', 'tests', 'idls')
71 reference_directory = os.path.join(source_path, 'bindings', 'tests', 'results') 73 reference_directory = os.path.join(source_path, 'bindings', 'tests', 'results')
72 74
73 75
74 @contextmanager 76 @contextmanager
75 def TemporaryDirectory(): 77 def TemporaryDirectory():
76 """Wrapper for tempfile.mkdtemp() so it's usable with 'with' statement. 78 """Wrapper for tempfile.mkdtemp() so it's usable with 'with' statement.
77 79
78 Simple backport of tempfile.TemporaryDirectory from Python 3.2. 80 Simple backport of tempfile.TemporaryDirectory from Python 3.2.
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 191
190 try: 192 try:
191 generate_interface_dependencies() 193 generate_interface_dependencies()
192 idl_compiler = IdlCompilerV8(output_directory, 194 idl_compiler = IdlCompilerV8(output_directory,
193 interfaces_info=interfaces_info, 195 interfaces_info=interfaces_info,
194 only_if_changed=True) 196 only_if_changed=True)
195 dictionary_impl_compiler = IdlCompilerDictionaryImpl( 197 dictionary_impl_compiler = IdlCompilerDictionaryImpl(
196 output_directory, interfaces_info=interfaces_info, 198 output_directory, interfaces_info=interfaces_info,
197 only_if_changed=True) 199 only_if_changed=True)
198 200
199 idl_basenames = [filename 201 idl_filenames = []
200 for filename in os.listdir(test_input_directory) 202 for component in COMPONENT_DIRECTORY:
201 if (filename.endswith('.idl') and 203 input_directory = os.path.join(test_input_directory, component)
202 # Dependencies aren't built 204 for filename in os.listdir(input_directory):
203 # (they are used by the dependent) 205 if (filename.endswith('.idl') and
204 filename not in DEPENDENCY_IDL_FILES)] 206 # Dependencies aren't built
205 for idl_basename in idl_basenames: 207 # (they are used by the dependent)
206 idl_path = os.path.realpath( 208 filename not in DEPENDENCY_IDL_FILES):
207 os.path.join(test_input_directory, idl_basename)) 209 idl_filenames.append(
210 os.path.realpath(
211 os.path.join(input_directory, filename)))
212 for idl_path in idl_filenames:
213 idl_basename = os.path.basename(idl_path)
208 idl_compiler.compile_file(idl_path) 214 idl_compiler.compile_file(idl_path)
209 definition_name, _ = os.path.splitext(idl_basename) 215 definition_name, _ = os.path.splitext(idl_basename)
210 if (definition_name in interfaces_info and 216 if (definition_name in interfaces_info and
211 interfaces_info[definition_name]['is_dictionary']): 217 interfaces_info[definition_name]['is_dictionary']):
212 dictionary_impl_compiler.compile_file(idl_path) 218 dictionary_impl_compiler.compile_file(idl_path)
213 if verbose: 219 if verbose:
214 print 'Compiled: %s' % filename 220 print 'Compiled: %s' % idl_path
215 finally: 221 finally:
216 delete_cache_files() 222 delete_cache_files()
217 223
218 # Detect all changes 224 # Detect all changes
219 passed = identical_output_files() 225 passed = identical_output_files()
220 passed &= no_excess_files() 226 passed &= no_excess_files()
221 227
222 if passed: 228 if passed:
223 if verbose: 229 if verbose:
224 print 230 print
225 print PASS_MESSAGE 231 print PASS_MESSAGE
226 return 0 232 return 0
227 print 233 print
228 print FAIL_MESSAGE 234 print FAIL_MESSAGE
229 return 1 235 return 1
230 236
231 237
232 def run_bindings_tests(reset_results, verbose): 238 def run_bindings_tests(reset_results, verbose):
233 # Generate output into the reference directory if resetting results, or 239 # Generate output into the reference directory if resetting results, or
234 # a temp directory if not. 240 # a temp directory if not.
235 if reset_results: 241 if reset_results:
236 print 'Resetting results' 242 print 'Resetting results'
237 return bindings_tests(reference_directory, verbose) 243 return bindings_tests(reference_directory, verbose)
238 with TemporaryDirectory() as temp_dir: 244 with TemporaryDirectory() as temp_dir:
239 return bindings_tests(temp_dir, verbose) 245 return bindings_tests(temp_dir, verbose)
OLDNEW
« no previous file with comments | « Source/bindings/tests/results/V8TestTypedefs.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698