194b13bbaSMasahiro Yamada#!/usr/bin/env python2 2*83d290c5STom Rini# SPDX-License-Identifier: GPL-2.0+ 3fc3fe1c2SSimon Glass# 4fc3fe1c2SSimon Glass# Copyright (c) 2012 The Chromium OS Authors. 5fc3fe1c2SSimon Glass# 6fc3fe1c2SSimon Glass 7fc3fe1c2SSimon Glass"""See README for more information""" 8fc3fe1c2SSimon Glass 9fc3fe1c2SSimon Glassimport multiprocessing 10fc3fe1c2SSimon Glassimport os 11fc3fe1c2SSimon Glassimport re 12fc3fe1c2SSimon Glassimport sys 13fc3fe1c2SSimon Glassimport unittest 14fc3fe1c2SSimon Glass 15fc3fe1c2SSimon Glass# Bring in the patman libraries 16fc3fe1c2SSimon Glassour_path = os.path.dirname(os.path.realpath(__file__)) 17a556eeebSSimon Glasssys.path.insert(1, os.path.join(our_path, '../patman')) 18fc3fe1c2SSimon Glass 19fc3fe1c2SSimon Glass# Our modules 20fc3fe1c2SSimon Glassimport board 21fd03d63fSSimon Glassimport bsettings 22fc3fe1c2SSimon Glassimport builder 23fc3fe1c2SSimon Glassimport checkpatch 24d3d5c123SSimon Glassimport cmdline 25fc3fe1c2SSimon Glassimport control 26fc3fe1c2SSimon Glassimport doctest 27fc3fe1c2SSimon Glassimport gitutil 28fc3fe1c2SSimon Glassimport patchstream 29fc3fe1c2SSimon Glassimport terminal 30fc3fe1c2SSimon Glassimport toolchain 31fc3fe1c2SSimon Glass 32cb39a109SSimon Glassdef RunTests(skip_net_tests): 33d4144e45SSimon Glass import func_test 34fc3fe1c2SSimon Glass import test 354281ad8eSSimon Glass import doctest 364281ad8eSSimon Glass 374281ad8eSSimon Glass result = unittest.TestResult() 38d4144e45SSimon Glass for module in ['toolchain', 'gitutil']: 394281ad8eSSimon Glass suite = doctest.DocTestSuite(module) 404281ad8eSSimon Glass suite.run(result) 414281ad8eSSimon Glass 42fc3fe1c2SSimon Glass sys.argv = [sys.argv[0]] 43cb39a109SSimon Glass if skip_net_tests: 44cb39a109SSimon Glass test.use_network = False 45d4144e45SSimon Glass for module in (test.TestBuild, func_test.TestFunctional): 46d4144e45SSimon Glass suite = unittest.TestLoader().loadTestsFromTestCase(module) 47fc3fe1c2SSimon Glass suite.run(result) 48fc3fe1c2SSimon Glass 49fc3fe1c2SSimon Glass print result 50fc3fe1c2SSimon Glass for test, err in result.errors: 51fc3fe1c2SSimon Glass print err 52fc3fe1c2SSimon Glass for test, err in result.failures: 53fc3fe1c2SSimon Glass print err 54fc3fe1c2SSimon Glass 55fc3fe1c2SSimon Glass 56d3d5c123SSimon Glassoptions, args = cmdline.ParseArgs() 57fc3fe1c2SSimon Glass 58fc3fe1c2SSimon Glass# Run our meagre tests 59fc3fe1c2SSimon Glassif options.test: 60cb39a109SSimon Glass RunTests(options.skip_net_tests) 61fc3fe1c2SSimon Glass 62fc3fe1c2SSimon Glass# Build selected commits for selected boards 63fc3fe1c2SSimon Glasselse: 64fd03d63fSSimon Glass bsettings.Setup(options.config_file) 652c3deb97SSimon Glass ret_code = control.DoBuildman(options, args) 662c3deb97SSimon Glass sys.exit(ret_code) 67