Home | History | Annotate | Download | only in generators
      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 
     46