Roll src/third_party/WebKit 28cb7a5:eda0012 (svn 190243:190250)
[chromium-blink-merge.git] / ppapi / generators / idl_tests.py
blobbf6d8a1570cc840c679c152922493f39af62b9d1
1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
6 """ Test runner for IDL Generator changes """
8 import subprocess
9 import sys
11 def TestIDL(testname, args):
12 print '\nRunning unit tests for %s.' % testname
13 try:
14 args = [sys.executable, testname] + args
15 subprocess.check_call(args)
16 return 0
17 except subprocess.CalledProcessError as err:
18 print 'Failed with %s.' % str(err)
19 return 1
21 def main(args):
22 errors = 0
23 errors += TestIDL('idl_lexer.py', ['--test'])
24 assert errors == 0
25 errors += TestIDL('idl_parser.py', ['--test'])
26 assert errors == 0
27 errors += TestIDL('idl_c_header.py', [])
28 assert errors == 0
29 errors += TestIDL('idl_c_proto.py', ['--wnone', '--test'])
30 assert errors == 0
31 errors += TestIDL('idl_gen_pnacl.py', ['--wnone', '--test'])
32 assert errors == 0
33 errors += TestIDL('idl_namespace.py', [])
34 assert errors == 0
35 errors += TestIDL('idl_node.py', [])
36 assert errors == 0
38 if errors:
39 print '\nFailed tests.'
40 return errors
43 if __name__ == '__main__':
44 sys.exit(main(sys.argv[1:]))