]> git-server-git.apps.pok.os.sepia.ceph.com Git - remoto.git/commitdiff
enhance log
authortone-zhang <tone.zhang@linaro.org>
Fri, 1 Jul 2016 03:16:09 +0000 (03:16 +0000)
committertone-zhang <tone.zhang@linaro.org>
Mon, 4 Jul 2016 02:13:35 +0000 (02:13 +0000)
In some special case, the termianl will add extra return at the
end of line. The update code will remove it.

remoto/log.py
remoto/tests/test_log.py

index 375e72a3c340e920a21bd6b0b4d02ca1b2f59c3d..0d42f43ae6f7b969e671b328af3b136125d0bbfe 100644 (file)
@@ -14,7 +14,7 @@ def reporting(conn, result, timeout=None):
             level_received, message = list(received.items())[0]
             if not isinstance(message, str):
                 message = message.decode('utf-8')
-            log_map[level_received](message.strip('\n'))
+            log_map[level_received](message.strip('\r\n'))
         except EOFError:
             break
         except Exception as err:
index 8aecc903f906addfbdf8b02cd0550749994ef95f..f6fcf78139d64359bded349a133e0ba3614186e4 100644 (file)
@@ -36,6 +36,30 @@ class TestReporting(object):
         message = conn.logger.error.call_args[0][0]
         assert message == 'an error message'
 
+    def test_strip_new_line(self):
+        conn = Mock()
+        result = Mock()
+        result.receive.side_effect = [{'error': 'an error message\n'}, EOFError]
+        log.reporting(conn, result)
+        message = conn.logger.error.call_args[0][0]
+        assert message == 'an error message'
+
+    def test_strip_new_line_and_carriage_return(self):
+        conn = Mock()
+        result = Mock()
+        result.receive.side_effect = [{'error': 'an error message\r\n'}, EOFError]
+        log.reporting(conn, result)
+        message = conn.logger.error.call_args[0][0]
+        assert message == 'an error message'
+
+    def test_strip_return(self):
+        conn = Mock()
+        result = Mock()
+        result.receive.side_effect = [{'error': 'an error message\r'}, EOFError]
+        log.reporting(conn, result)
+        message = conn.logger.error.call_args[0][0]
+        assert message == 'an error message'
+
     def test_timeout_error(self):
         conn = Mock()
         result = Mock()