From 0f0368d0527eacb13ac8547c2732219b0d4b64fe Mon Sep 17 00:00:00 2001 From: Aníbal Limón Date: Wed, 26 Jul 2017 10:04:10 -0500 Subject: oeqa/core/runner: OEStreamLogger don't buffer test execution writes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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] (From OE-Core rev: 4c2276469f58a88f864eb374c00dbbaace702de4) Signed-off-by: Aníbal Limón Signed-off-by: Richard Purdie --- meta/lib/oeqa/core/runner.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'meta/lib/oeqa') 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: -- cgit v1.2.3-54-g00ecf