poky/bitbake/bin/bitbake-selftest
Alexander Kanavin 2b399a01b5 bitbake: bitbake: enable python warnings at the first opportunity
We really do want to see those, as they tend to turn into
hard errors eventually, as what happened with collections
vs collections.abc in python 3.10.

(Bitbake rev: bc43fbb86361a21dc2d5deb910810c5a77fdabe8)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-19 11:33:14 +01:00

1.9 KiB
Executable File

#!/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'))

import unittest try: import bb import hashserv import layerindexlib except RuntimeError as exc: sys.exit(str(exc))

tests = ["bb.tests.codeparser", "bb.tests.color", "bb.tests.cooker", "bb.tests.cow", "bb.tests.data", "bb.tests.event", "bb.tests.fetch", "bb.tests.parse", "bb.tests.persist_data", "bb.tests.runqueue", "bb.tests.siggen", "bb.tests.utils", "bb.tests.compression", "hashserv.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_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)