From: Aníbal Limón Date: Wed, 26 Jul 2017 15:04:10 +0000 (-0500) Subject: oeqa/core/runner: OEStreamLogger don't buffer test execution writes X-Git-Tag: 2017-10~776 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=4c2276469f58a88f864eb374c00dbbaace702de4;p=openembedded-core.git oeqa/core/runner: OEStreamLogger don't buffer test execution writes Since OEQA framework uses Python logging functionality to report test results there is a class that wraps PyUnit writes into logging commands (OEStreamLogger), so don't buffer the actual test execution to have insight of what is currently executing. This fix will change a little the test output format adding an '\n' previous the test result, for example: From: test_nonmatching_checksum (lic_checksum.LicenseTests) ... ok To: test_nonmatching_checksum (lic_checksum.LicenseTests) ... ok This is because the new line added by the PyUnit StreamLogger because currently we don't have a manner to identify when a test execution starts at report level (write msg). [YOCTO #11827] Signed-off-by: Aníbal Limón Signed-off-by: Richard Purdie --- diff --git a/meta/lib/oeqa/core/runner.py b/meta/lib/oeqa/core/runner.py index 8a55c24c78..f6539e60b6 100644 --- a/meta/lib/oeqa/core/runner.py +++ b/meta/lib/oeqa/core/runner.py @@ -25,10 +25,14 @@ class OEStreamLogger(object): def write(self, msg): if len(msg) > 1 and msg[0] != '\n': - self.buffer += msg - else: - self.logger.log(logging.INFO, self.buffer.rstrip("\n")) - self.buffer = "" + if '...' in msg: + self.buffer += msg + elif self.buffer: + self.buffer += msg + self.logger.log(logging.INFO, self.buffer) + self.buffer = "" + else: + self.logger.log(logging.INFO, msg) def flush(self): for handler in self.logger.handlers: