63 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
#!/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
 | 
						|
 | 
						|
# 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
 | 
						|
from patman import test_util
 | 
						|
 | 
						|
def RunTests(skip_net_tests, verboose, args):
 | 
						|
    from buildman import func_test
 | 
						|
    from buildman import test
 | 
						|
    import doctest
 | 
						|
 | 
						|
    test_name = args and args[0] or None
 | 
						|
    if skip_net_tests:
 | 
						|
        test.use_network = False
 | 
						|
 | 
						|
    # Run the entry tests first ,since these need to be the first to import the
 | 
						|
    # 'entry' module.
 | 
						|
    result = test_util.run_test_suites(
 | 
						|
        'buildman', False, verboose, False, None, test_name, [],
 | 
						|
        [test.TestBuild, func_test.TestFunctional,
 | 
						|
         'buildman.toolchain', 'patman.gitutil'])
 | 
						|
 | 
						|
    return (0 if result.wasSuccessful() else 1)
 | 
						|
 | 
						|
options, args = cmdline.ParseArgs()
 | 
						|
 | 
						|
if not options.debug:
 | 
						|
    sys.tracebacklimit = 0
 | 
						|
 | 
						|
# Run our meagre tests
 | 
						|
if options.test:
 | 
						|
    RunTests(options.skip_net_tests, options.verbose, args)
 | 
						|
 | 
						|
# Build selected commits for selected boards
 | 
						|
else:
 | 
						|
    bsettings.Setup(options.config_file)
 | 
						|
    ret_code = control.DoBuildman(options, args)
 | 
						|
    sys.exit(ret_code)
 |