rockchip: rk3399: Add Nanopi M4 2GB board support
[platform/kernel/u-boot.git] / tools / buildman / main.py
1 #!/usr/bin/env python3
2 # SPDX-License-Identifier: GPL-2.0+
3 #
4 # Copyright (c) 2012 The Chromium OS Authors.
5 #
6
7 """See README for more information"""
8
9 import doctest
10 import multiprocessing
11 import os
12 import re
13 import sys
14 import unittest
15
16 # Bring in the patman libraries
17 our_path = os.path.dirname(os.path.realpath(__file__))
18 sys.path.insert(1, os.path.join(our_path, '..'))
19
20 # Our modules
21 from buildman import board
22 from buildman import bsettings
23 from buildman import builder
24 from buildman import cmdline
25 from buildman import control
26 from buildman import toolchain
27 from patman import patchstream
28 from patman import gitutil
29 from patman import terminal
30
31 def RunTests(skip_net_tests):
32     import func_test
33     import test
34     import doctest
35
36     result = unittest.TestResult()
37     for module in ['buildman.toolchain', 'patman.gitutil']:
38         suite = doctest.DocTestSuite(module)
39         suite.run(result)
40
41     sys.argv = [sys.argv[0]]
42     if skip_net_tests:
43         test.use_network = False
44     for module in (test.TestBuild, func_test.TestFunctional):
45         suite = unittest.TestLoader().loadTestsFromTestCase(module)
46         suite.run(result)
47
48     print(result)
49     for test, err in result.errors:
50         print(err)
51     for test, err in result.failures:
52         print(err)
53
54
55 options, args = cmdline.ParseArgs()
56
57 # Run our meagre tests
58 if options.test:
59     RunTests(options.skip_net_tests)
60
61 # Build selected commits for selected boards
62 else:
63     bsettings.Setup(options.config_file)
64     ret_code = control.DoBuildman(options, args)
65     sys.exit(ret_code)