Index: tools/checkteamtags/run_tests |
diff --git a/tools/checkteamtags/run_tests b/tools/checkteamtags/run_tests |
new file mode 100755 |
index 0000000000000000000000000000000000000000..62040289ecdec19db7170ba2442e14abd7a51ca4 |
--- /dev/null |
+++ b/tools/checkteamtags/run_tests |
@@ -0,0 +1,41 @@ |
+#!/usr/bin/env python |
+# Copyright 2017 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. |
+ |
+"""Runs all tests in all unit test modules in this directory.""" |
+ |
+import os |
+import sys |
+import unittest |
+import logging |
+ |
+SRC = os.path.join(os.path.dirname(__file__), os.path.pardir, os.path.pardir) |
+ |
+ |
+def main(): |
+ if 'full-log' in sys.argv: |
+ # Configure logging to show line numbers and logging level |
+ fmt = '%(module)s:%(lineno)d - %(levelname)s: %(message)s' |
+ logging.basicConfig(level=logging.DEBUG, stream=sys.stdout, format=fmt) |
+ elif 'no-log' in sys.argv: |
+ # Only WARN and above are shown, to standard error. (This is the logging |
+ # module default config, hence we do nothing here) |
+ pass |
+ else: |
+ # Behave as before. Make logging.info mimic print behavior |
+ fmt = '%(message)s' |
+ logging.basicConfig(level=logging.INFO, stream=sys.stdout, format=fmt) |
+ |
+ suite = unittest.TestSuite() |
+ loader = unittest.TestLoader() |
+ script_dir = os.path.dirname(__file__) |
+ suite.addTests(loader.discover(start_dir=script_dir, pattern='*_test.py')) |
+ |
+ print 'Running unit tests in %s...' % os.path.abspath(script_dir) |
+ result = unittest.TextTestRunner(verbosity=1).run(suite) |
+ return 0 if result.wasSuccessful() else 1 |
+ |
+ |
+if __name__ == '__main__': |
+ sys.exit(main()) |