Upstream version 11.40.277.0
[platform/framework/web/crosswalk.git] / src / ppapi / generators / idl_tests.py
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.
5
6 """ Test runner for IDL Generator changes """
7
8 import subprocess
9 import sys
10
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
20
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
37
38   if errors:
39     print '\nFailed tests.'
40   return errors
41
42
43 if __name__ == '__main__':
44   sys.exit(main(sys.argv[1:]))
45