From: Markus Lehtonen Date: Thu, 18 Aug 2016 16:55:54 +0000 (+0300) Subject: bitbake-selftest: enable bitbake logging to stdout X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ea19972a16f7639f944823d1d8a7728105460136;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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 --- 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)