| #!/usr/bin/env python3 | |
| # | |
| # Copyright (C) 2012 Richard Purdie | |
| # | |
| # SPDX-License-Identifier: GPL-2.0-only | |
| # | |
| import os | |
| import sys, logging | |
| import warnings | |
| warnings.simplefilter("default") | |
| sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)), 'lib')) | |
| __version__ = "2.19.1" | |
| import unittest | |
| try: | |
| import bb | |
| import hashserv | |
| import prserv | |
| import layerindexlib | |
| except RuntimeError as exc: | |
| sys.exit(str(exc)) | |
| if __version__ != bb.__version__: | |
| sys.exit("Bitbake core library version and program version mismatch!") | |
| tests = ["bb.tests.codeparser", | |
| "bb.tests.color", | |
| "bb.tests.cooker", | |
| "bb.tests.cow", | |
| "bb.tests.data", | |
| "bb.tests.event", | |
| "bb.tests.fetch", | |
| "bb.tests.fetch_import", | |
| "bb.tests.parse", | |
| "bb.tests.runqueue", | |
| "bb.tests.setup", | |
| "bb.tests.siggen", | |
| "bb.tests.utils", | |
| "bb.tests.compression", | |
| "bb.tests.filter", | |
| "hashserv.tests", | |
| "prserv.tests", | |
| "layerindexlib.tests.layerindexobj", | |
| "layerindexlib.tests.restapi", | |
| "layerindexlib.tests.cooker"] | |
| for t in tests: | |
| t = '.'.join(t.split('.')[:3]) | |
| __import__(t) | |
| # Set-up logging | |
| class StdoutStreamHandler(logging.StreamHandler): | |
| """Special handler so that unittest is able to capture stdout""" | |
| def __init__(self): | |
| # Override __init__() because we don't want to set self.stream here | |
| logging.Handler.__init__(self) | |
| @property | |
| def stream(self): | |
| # We want to dynamically write wherever sys.stdout is pointing to | |
| return sys.stdout | |
| handler = StdoutStreamHandler() | |
| bb.logger.addHandler(handler) | |
| bb.logger.setLevel(logging.DEBUG) | |
| ENV_HELP = """\ | |
| Environment variables: | |
| BB_SKIP_NETTESTS set to 'yes' in order to skip tests using network | |
| connection | |
| BB_SKIP_PYPI_TESTS set to 'no' to run PyPI packaging tests | |
| (default: yes/skip) | |
| BB_TMPDIR_NOCLEAN set to 'yes' to preserve test tmp directories | |
| """ | |
| class main(unittest.main): | |
| def _print_help(self, *args, **kwargs): | |
| super(main, self)._print_help(*args, **kwargs) | |
| print(ENV_HELP) | |
| if __name__ == '__main__': | |
| main(defaultTest=tests, buffer=True) |