[oe-commits] [openembedded-core] 08/17: oeqa/core/runner: OEStreamLogger don't buffer test execution writes

git at git.openembedded.org git at git.openembedded.org
Fri Jul 28 15:03:00 UTC 2017


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit e2adfda8a641be06eced39f838095298ec00ceb9
Author: Aníbal Limón <anibal.limon at linux.intel.com>
AuthorDate: Wed Jul 26 10:04:10 2017 -0500

    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 <anibal.limon at linux.intel.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 meta/lib/oeqa/core/runner.py | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/meta/lib/oeqa/core/runner.py b/meta/lib/oeqa/core/runner.py
index 8a55c24..f6539e6 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:

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list