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

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

Issue 24156003: Revert IDL compiler build flow to Perl, rename 'deprecated' (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase Created 7 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 | « Tools/Scripts/run-bindings-tests ('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 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 75
76 def newtempdir(self): 76 def newtempdir(self):
77 path = tempfile.mkdtemp() 77 path = tempfile.mkdtemp()
78 self.directories.append(path) 78 self.directories.append(path)
79 return path 79 return path
80 80
81 provider = ScopedTempFileProvider() 81 provider = ScopedTempFileProvider()
82 82
83 83
84 class BindingsTests(object): 84 class BindingsTests(object):
85 def __init__(self, reset_results, executive): 85 def __init__(self, reset_results, test_python, executive):
86 self.reset_results = reset_results 86 self.reset_results = reset_results
87 self.test_python = test_python
87 self.executive = executive 88 self.executive = executive
88 _, self.interface_dependencies_filename = provider.newtempfile() 89 _, self.interface_dependencies_filename = provider.newtempfile()
89 if reset_results: 90 if reset_results:
90 self.event_names_filename = os.path.join(reference_directory, 'Event Interfaces.in') 91 self.event_names_filename = os.path.join(reference_directory, 'Event Interfaces.in')
91 else: 92 else:
92 _, self.event_names_filename = provider.newtempfile() 93 _, self.event_names_filename = provider.newtempfile()
93 94
94 def run_command(self, cmd): 95 def run_command(self, cmd):
95 return self.executive.run_command(cmd) 96 return self.executive.run_command(cmd)
96 97
97 def generate_from_idl_pl(self, idl_file, output_directory): 98 def generate_from_idl_pl(self, idl_file, output_directory):
98 cmd = ['perl', '-w', 99 cmd = ['perl', '-w',
99 '-Ibindings/scripts', 100 '-Ibindings/scripts',
100 '-Icore/scripts', 101 '-Icore/scripts',
101 '-I../../JSON/out/lib/perl5', 102 '-I../../JSON/out/lib/perl5',
102 'bindings/scripts/deprecated_generate_bindings.pl', 103 'bindings/scripts/generate_bindings.pl',
103 # idl include directories (path relative to generate-bindings.pl) 104 # idl include directories (path relative to generate-bindings.pl)
104 '--include', '.', 105 '--include', '.',
105 '--outputDir', output_directory, 106 '--outputDir', output_directory,
106 '--interfaceDependenciesFile', self.interface_dependencies_filena me, 107 '--interfaceDependenciesFile', self.interface_dependencies_filena me,
107 '--idlAttributesFile', 'bindings/scripts/IDLAttributes.txt', 108 '--idlAttributesFile', 'bindings/scripts/IDLAttributes.txt',
108 idl_file] 109 idl_file]
109 try: 110 try:
110 output = self.run_command(cmd) 111 output = self.run_command(cmd)
111 except ScriptError, e: 112 except ScriptError, e:
112 print e.output 113 print e.output
113 return e.exit_code 114 return e.exit_code
114 if output: 115 if output:
115 print output 116 print output
116 return 0 117 return 0
117 118
118 def generate_from_idl_py(self, idl_file, output_directory): 119 def generate_from_idl_py(self, idl_file, output_directory):
119 cmd = ['python', 120 cmd = ['python',
120 'bindings/scripts/idl_compiler.py', 121 'bindings/scripts/unstable/idl_compiler.py',
121 '--output-dir', output_directory, 122 '--output-dir', output_directory,
122 '--idl-attributes-file', 'bindings/scripts/IDLAttributes.txt', 123 '--idl-attributes-file', 'bindings/scripts/IDLAttributes.txt',
123 '--include', '.', 124 '--include', '.',
124 '--interface-dependencies-file', 125 '--interface-dependencies-file',
125 self.interface_dependencies_filename, 126 self.interface_dependencies_filename,
126 idl_file] 127 idl_file]
127 try: 128 try:
128 output = self.run_command(cmd) 129 output = self.run_command(cmd)
129 except ScriptError, e: 130 except ScriptError, e:
130 print e.output 131 print e.output
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 228
228 if self.reset_results: 229 if self.reset_results:
229 passed = True 230 passed = True
230 else: 231 else:
231 passed = self.identical_file(reference_event_names_filename, 232 passed = self.identical_file(reference_event_names_filename,
232 self.event_names_filename) 233 self.event_names_filename)
233 passed &= all([generate_and_check_output_pl(input_file) 234 passed &= all([generate_and_check_output_pl(input_file)
234 for input_file in os.listdir(input_directory) 235 for input_file in os.listdir(input_directory)
235 if input_file.endswith('.idl')]) 236 if input_file.endswith('.idl')])
236 print 237 print
237 print 'Python:' 238 if self.test_python:
238 passed &= all([generate_and_check_output_py(input_file) 239 print 'Python:'
239 for input_file in os.listdir(input_directory) 240 passed &= all([generate_and_check_output_py(input_file)
240 if input_file.endswith('.idl')]) 241 for input_file in os.listdir(input_directory)
242 if input_file.endswith('.idl')])
241 return passed 243 return passed
242 244
243 def main(self): 245 def main(self):
244 current_scm = detect_scm_system(os.curdir) 246 current_scm = detect_scm_system(os.curdir)
245 os.chdir(os.path.join(current_scm.checkout_root, 'Source')) 247 os.chdir(os.path.join(current_scm.checkout_root, 'Source'))
246 248
247 if self.generate_interface_dependencies(): 249 if self.generate_interface_dependencies():
248 print 'Failed to generate interface dependencies file.' 250 print 'Failed to generate interface dependencies file.'
249 return -1 251 return -1
250 252
251 all_tests_passed = self.run_tests() 253 all_tests_passed = self.run_tests()
252 print 254 print
253 if all_tests_passed: 255 if all_tests_passed:
254 print 'All tests PASS!' 256 print 'All tests PASS!'
255 return 0 257 return 0
256 print 'Some tests FAIL! (To update the reference files, execute "run-bin dings-tests --reset-results")' 258 print 'Some tests FAIL! (To update the reference files, execute "run-bin dings-tests --reset-results")'
257 return -1 259 return -1
OLDNEW
« no previous file with comments | « Tools/Scripts/run-bindings-tests ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698