aboutsummaryrefslogtreecommitdiff
path: root/tools/buildman/main.py
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2020-04-17 18:08:56 -0600
committerSimon Glass <sjg@chromium.org>2020-04-26 14:25:21 -0600
commit7ec3dc57b33e2fa5f1da1ade259937f5631532c0 (patch)
tree071ed5d85eba389b8515d8d076ac19e0844c3e40 /tools/buildman/main.py
parentc3a13cc3331846a900f0bf6d003357d5c6b7dbe3 (diff)
buildman: Rename the main module
Python does not like the module name being the same as the module directory. To allow buildman modules to be used from other tools, rename it. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools/buildman/main.py')
-rwxr-xr-xtools/buildman/main.py66
1 files changed, 66 insertions, 0 deletions
diff --git a/tools/buildman/main.py b/tools/buildman/main.py
new file mode 100755
index 0000000000..0add628a63
--- /dev/null
+++ b/tools/buildman/main.py
@@ -0,0 +1,66 @@
+#!/usr/bin/env python3
+# SPDX-License-Identifier: GPL-2.0+
+#
+# Copyright (c) 2012 The Chromium OS Authors.
+#
+
+"""See README for more information"""
+
+import multiprocessing
+import os
+import re
+import sys
+import unittest
+
+# Bring in the patman libraries
+our_path = os.path.dirname(os.path.realpath(__file__))
+sys.path.insert(1, os.path.join(our_path, '../patman'))
+
+# Our modules
+import board
+import bsettings
+import builder
+import checkpatch
+import cmdline
+import control
+import doctest
+import gitutil
+import patchstream
+import terminal
+import toolchain
+
+def RunTests(skip_net_tests):
+ import func_test
+ import test
+ import doctest
+
+ result = unittest.TestResult()
+ for module in ['toolchain', 'gitutil']:
+ suite = doctest.DocTestSuite(module)
+ suite.run(result)
+
+ sys.argv = [sys.argv[0]]
+ if skip_net_tests:
+ test.use_network = False
+ for module in (test.TestBuild, func_test.TestFunctional):
+ suite = unittest.TestLoader().loadTestsFromTestCase(module)
+ suite.run(result)
+
+ print(result)
+ for test, err in result.errors:
+ print(err)
+ for test, err in result.failures:
+ print(err)
+
+
+options, args = cmdline.ParseArgs()
+
+# Run our meagre tests
+if options.test:
+ RunTests(options.skip_net_tests)
+
+# Build selected commits for selected boards
+else:
+ bsettings.Setup(options.config_file)
+ ret_code = control.DoBuildman(options, args)
+ sys.exit(ret_code)