Home | History | Annotate | Download | only in generate
      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 
      8 import subprocess
      9 import sys
     10 
     11 def 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 
     23 def 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 
     34 if __name__ == '__main__':
     35   sys.exit(main(sys.argv[1:]))
     36