| #!/usr/bin/env python |
| # Copyright 2016 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. |
| |
| import logging |
| import os |
| import sys |
| import unittest |
| |
| |
| if __name__ == '__main__': |
| logging.basicConfig( |
| level=logging.DEBUG if '-v' in sys.argv else logging.WARNING, |
| format='%(levelname)5s %(filename)15s(%(lineno)3d): %(message)s') |
| |
| suite = unittest.TestSuite() |
| loader = unittest.TestLoader() |
| root_dir = os.path.dirname(os.path.realpath(__file__)) |
| if len(sys.argv) < 2: |
| cases = loader.discover(start_dir=root_dir, pattern='*_unittest.py') |
| else: |
| cases = [] |
| for module in sys.argv[1:]: |
| pattern = '{}_unittest.py'.format(module) |
| cases.extend(loader.discover(start_dir=root_dir, pattern=pattern)) |
| suite.addTests(cases) |
| res = unittest.TextTestRunner(verbosity=2).run(suite) |
| if res.wasSuccessful(): |
| sys.exit(0) |
| else: |
| sys.exit(1) |