#!/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:]))