From ea19972a16f7639f944823d1d8a7728105460136 Mon Sep 17 00:00:00 2001 From: Markus Lehtonen Date: Thu, 18 Aug 2016 19:55:54 +0300 Subject: [PATCH] bitbake-selftest: enable bitbake logging to stdout Now you get the bb logger output for failed tests. This helps debugging problems. Also, all stdout/stderr data for successful tests is silenced which makes for less cluttered console output. Signed-off-by: Markus Lehtonen Signed-off-by: Richard Purdie --- bin/bitbake-selftest | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/bin/bitbake-selftest b/bin/bitbake-selftest index 1e00e33271f..380e003619c 100755 --- a/bin/bitbake-selftest +++ b/bin/bitbake-selftest @@ -37,6 +37,24 @@ for t in tests: __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 @@ -51,4 +69,4 @@ class main(unittest.main): if __name__ == '__main__': - main(defaultTest=tests) + main(defaultTest=tests, buffer=True) -- 2.47.2