]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - tools/buildman/buildman.py
buildman: Avoid looking at config file or toolchains in tests
[karo-tx-uboot.git] / tools / buildman / buildman.py
1 #!/usr/bin/env python
2 #
3 # Copyright (c) 2012 The Chromium OS Authors.
4 #
5 # SPDX-License-Identifier:      GPL-2.0+
6 #
7
8 """See README for more information"""
9
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.append(os.path.join(our_path, '../patman'))
19
20 # Our modules
21 import board
22 import bsettings
23 import builder
24 import checkpatch
25 import cmdline
26 import control
27 import doctest
28 import gitutil
29 import patchstream
30 import terminal
31 import toolchain
32
33 def RunTests():
34     import func_test
35     import test
36     import doctest
37
38     result = unittest.TestResult()
39     for module in ['toolchain', 'gitutil']:
40         suite = doctest.DocTestSuite(module)
41         suite.run(result)
42
43     sys.argv = [sys.argv[0]]
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()
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)