12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#!/usr/bin/env python 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# Copyright (c) 2012 The Chromium Authors. All rights reserved. 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# found in the LICENSE file. 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)""" Test runner for IDL Generator changes """ 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)import subprocess 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)import sys 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)def TestIDL(testname, args): 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) print '\nRunning unit tests for %s.' % testname 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) try: 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) args = [sys.executable, testname] + args 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) subprocess.check_call(args) 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return 0 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) except subprocess.CalledProcessError as err: 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) print 'Failed with %s.' % str(err) 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return 1 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)def main(args): 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) errors = 0 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) errors += TestIDL('idl_lexer.py', ['--test']) 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert errors == 0 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) errors += TestIDL('idl_parser.py', ['--test']) 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert errors == 0 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) errors += TestIDL('idl_c_header.py', []) 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert errors == 0 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) errors += TestIDL('idl_c_proto.py', ['--wnone', '--test']) 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert errors == 0 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) errors += TestIDL('idl_gen_pnacl.py', ['--wnone', '--test']) 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert errors == 0 33a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) errors += TestIDL('idl_namespace.py', []) 34a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) assert errors == 0 35a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) errors += TestIDL('idl_node.py', []) 36a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) assert errors == 0 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) if errors: 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) print '\nFailed tests.' 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return errors 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)if __name__ == '__main__': 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) sys.exit(main(sys.argv[1:])) 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 46