aboutsummaryrefslogtreecommitdiff
path: root/tools/buildman/main.py
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2020-04-28 09:52:01 -0400
committerTom Rini <trini@konsulko.com>2020-04-28 09:52:01 -0400
commit545c747447706d9601cc5c65a85ec44e688bfe08 (patch)
tree398a874161673df9656e271a6dbb4b127a45f725 /tools/buildman/main.py
parent08977f873f4034307796173784fc17a11188a0cb (diff)
parentc1f39edc62adc81775e750957aa557bcf994e607 (diff)
downloadu-boot-545c747447706d9601cc5c65a85ec44e688bfe08.zip
u-boot-545c747447706d9601cc5c65a85ec44e688bfe08.tar.gz
u-boot-545c747447706d9601cc5c65a85ec44e688bfe08.tar.bz2
Merge tag 'dm-pull-27apr20' of git://git.denx.de/u-boot-dm
Move Python tools to use absolute paths Minor buildman fixes for new features Make libfdt code more similar to upsteam
Diffstat (limited to 'tools/buildman/main.py')
-rwxr-xr-xtools/buildman/main.py65
1 files changed, 65 insertions, 0 deletions
diff --git a/tools/buildman/main.py b/tools/buildman/main.py
new file mode 100755
index 0000000..2b71473
--- /dev/null
+++ b/tools/buildman/main.py
@@ -0,0 +1,65 @@
+#!/usr/bin/env python3
+# SPDX-License-Identifier: GPL-2.0+
+#
+# Copyright (c) 2012 The Chromium OS Authors.
+#
+
+"""See README for more information"""
+
+import doctest
+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, '..'))
+
+# Our modules
+from buildman import board
+from buildman import bsettings
+from buildman import builder
+from buildman import cmdline
+from buildman import control
+from buildman import toolchain
+from patman import patchstream
+from patman import gitutil
+from patman import terminal
+
+def RunTests(skip_net_tests):
+ import func_test
+ import test
+ import doctest
+
+ result = unittest.TestResult()
+ for module in ['buildman.toolchain', 'patman.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)