1#!/usr/bin/env python 2# Copyright 2013 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 Mojom """ 7 8import subprocess 9import sys 10 11def TestMojom(testname, args): 12 print '\nRunning unit tests for %s.' % testname 13 try: 14 args = [sys.executable, testname] + args 15 subprocess.check_call(args, stdout=sys.stdout) 16 print 'Succeeded' 17 return 0 18 except subprocess.CalledProcessError as err: 19 print 'Failed with %s.' % str(err) 20 return 1 21 22 23def main(args): 24 errors = 0 25 errors += TestMojom('data_tests.py', ['--test']) 26 errors += TestMojom('module_tests.py', ['--test']) 27 errors += TestMojom('pack_tests.py', ['--test']) 28 29 if errors: 30 print '\nFailed tests.' 31 return min(errors, 127) # Make sure the return value doesn't "wrap". 32 33 34if __name__ == '__main__': 35 sys.exit(main(sys.argv[1:])) 36