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