#!/usr/bin/env python # Copyright (c) 2012 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """ Test runner for IDL Generator changes """ import subprocess import sys def TestIDL(testname, args): print '\nRunning unit tests for %s.' % testname try: args = [sys.executable, testname] + args subprocess.check_call(args) return 0 except subprocess.CalledProcessError as err: print 'Failed with %s.' % str(err) return 1 def main(args): errors = 0 errors += TestIDL('idl_lexer.py', ['--test']) assert errors == 0 errors += TestIDL('idl_parser.py', ['--test']) assert errors == 0 errors += TestIDL('idl_c_header.py', []) assert errors == 0 errors += TestIDL('idl_c_proto.py', ['--wnone', '--test']) assert errors == 0 errors += TestIDL('idl_gen_pnacl.py', ['--wnone', '--test']) assert errors == 0 errors += TestIDL('idl_namespace.py', []) assert errors == 0 errors += TestIDL('idl_node.py', []) assert errors == 0 if errors: print '\nFailed tests.' return errors if __name__ == '__main__': sys.exit(main(sys.argv[1:]))