u-boot-brain/tools/buildman/buildman.py
Simon Glass cb39a10979 buildman: Allow skipping of tests which use the network
Accessing the network slows down the test and limits the environment in
which it can be run. Add an option to disable network tests.

Signed-off-by: Simon Glass <sjg@chromium.org>
2017-11-22 18:05:38 -07:00

68 lines
1.4 KiB
Python
Executable File

#!/usr/bin/env python
#
# Copyright (c) 2012 The Chromium OS Authors.
#
# SPDX-License-Identifier: GPL-2.0+
#
"""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)