)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"1a33da1352aae349812cadfae083932b05a3ce46","unresolved":false,"context_lines":[{"line_number":10,"context_line":"code tries to join all chunk with sting to result string."},{"line_number":11,"context_line":"This patchset checks for binary type in chunk and converts it."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-Bog: #1495181"},{"line_number":14,"context_line":"Change-Id: I886c9d0c143d3553876ece7b6d1ac2df7e49d701"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a1a9d01_469545e2","line":13,"updated":"2015-09-25 02:15:39.000000000","message":"You probably want to close the bug instead of the bog :)","commit_id":"6cd9924714f6f4c24a2dd31de0a9c0408aeb0ff5"}],"tempest_lib/common/ssh.py":[{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"56cbe4b690c86aa4f47e93e92002a288e59c237c","unresolved":false,"context_lines":[{"line_number":141,"context_line":"                out_chunk \u003d err_chunk \u003d None"},{"line_number":142,"context_line":"                if channel.recv_ready():"},{"line_number":143,"context_line":"                    out_chunk \u003d channel.recv(self.buf_size)"},{"line_number":144,"context_line":"                    # paramiko can return str or bytes and code should cast"},{"line_number":145,"context_line":"                    # recieved data to mono-type first and then to str"},{"line_number":146,"context_line":"                    # because code can\u0027t transform utf-8 chunks"},{"line_number":147,"context_line":"                    # separately then code cast all to bytes and after"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa80f949_2956a55c","line":144,"updated":"2015-11-05 10:41:31.000000000","message":"http://docs.paramiko.org/en/1.15/api/channel.html#paramiko.channel.Channel.recv\n\nThe above says it is bytes, and not string,\nis the doc correct ?","commit_id":"edf7eb6054f61ae4a2fb12a131b7e8d949778996"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"512367f0d76744bdbcf9be5304853d32e53fdec7","unresolved":false,"context_lines":[{"line_number":141,"context_line":"                out_chunk \u003d err_chunk \u003d None"},{"line_number":142,"context_line":"                if channel.recv_ready():"},{"line_number":143,"context_line":"                    out_chunk \u003d channel.recv(self.buf_size)"},{"line_number":144,"context_line":"                    # paramiko can return str or bytes and code should cast"},{"line_number":145,"context_line":"                    # recieved data to mono-type first and then to str"},{"line_number":146,"context_line":"                    # because code can\u0027t transform utf-8 chunks"},{"line_number":147,"context_line":"                    # separately then code cast all to bytes and after"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa80f949_6c7d9b6d","line":144,"in_reply_to":"fa80f949_2956a55c","updated":"2015-11-05 10:48:05.000000000","message":"good question. I thought that it can return both but docs(and code) says different.\nI will check it and simplify the code.","commit_id":"edf7eb6054f61ae4a2fb12a131b7e8d949778996"}],"tempest_lib/tests/test_ssh.py":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"e938f51aaae53fe83b3946cf3d2aa8e0eaf5e99d","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        csp_mock.return_value \u003d True"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        select_mock \u003d self.patch(\u0027select.poll\u0027, create\u003dTrue)"},{"line_number":242,"context_line":"        client_mock \u003d mock.MagicMock()"},{"line_number":243,"context_line":"        tran_mock \u003d mock.MagicMock()"},{"line_number":244,"context_line":"        chan_mock \u003d mock.MagicMock()"},{"line_number":245,"context_line":"        poll_mock \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a2fa921_12e52f36","line":242,"updated":"2015-10-06 16:01:46.000000000","message":"This mocking block is basically duplicated between 3 tests cases can we extract that into\na common method somehow? That might be fine as a follow up patch","commit_id":"04aea7718478b17537f5126220f899721a3c2574"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"e938f51aaae53fe83b3946cf3d2aa8e0eaf5e99d","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        out_data \u003d client.exec_command(\"test\")"},{"line_number":273,"context_line":"        self.assertEqual(\u0027R\u0027 + six.unichr(1071), out_data)"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"        # Test for bad exit status"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        reset_mocks()"},{"line_number":278,"context_line":"        select_mock.return_value \u003d poll_mock"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a2fa921_b2d0fb54","line":275,"updated":"2015-10-06 16:01:46.000000000","message":"I really think this should be a seperate test case to isolate it from the good exit status case.\nTest cases should be isolated from 1 another and this feels like seperate test case","commit_id":"04aea7718478b17537f5126220f899721a3c2574"}]}
