)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"e35ebef10d7994a9570cd43404e643b1348a0c06","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Akihito Takai \u003ctakaiak@nttdata.co.jp\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-12-20 14:48:56 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add abnormal functional Tests for storlet app written in python language"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Therefore, this patch added the following functional test items"},{"line_number":10,"context_line":"in python."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a6eadb0_8e26a614","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":12},"updated":"2016-12-20 07:48:28.000000000","message":"What do you mean by \u0027abnormal\u0027? negative?","commit_id":"55731268cd63731f91fe5efe10ffc053dceae127"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"e35ebef10d7994a9570cd43404e643b1348a0c06","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Therefore, this patch added the following functional test items"},{"line_number":10,"context_line":"in python."},{"line_number":11,"context_line":"we use java\u0027s FTs as a reference."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This commit add abnormal FTs."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a6eadb0_8eca264e","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":33},"updated":"2016-12-20 07:48:28.000000000","message":"Is this the real thing which you want?","commit_id":"55731268cd63731f91fe5efe10ffc053dceae127"}],"StorletSamples/python/storlet_samples/test/test.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"d4aa703acdb801b418a6871040f568775d9b866c","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        \"\"\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"        self.logger.debug(\u0027execute test.py\u0027)"},{"line_number":33,"context_line":"        op \u003d params.get(\u0027op\u0027, None)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        if op \u003d\u003d \u0027crash\u0027:"},{"line_number":36,"context_line":"            self.logger.debug(\u0027op \u003d crash\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a3905b3_9bb80077","line":33,"range":{"start_line":33,"start_character":28,"end_line":33,"end_character":34},"updated":"2017-01-24 06:55:45.000000000","message":"You don\u0027t need this default value.","commit_id":"66dcc77c4f8f3f009ba5072b30f4c01995376cb6"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"e5d7d6e953717cba5d6e47e374fb9ea3f6ba9858","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        \"\"\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"        self.logger.debug(\u0027execute test.py\u0027)"},{"line_number":33,"context_line":"        op \u003d params.get(\u0027op\u0027, None)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        if op \u003d\u003d \u0027crash\u0027:"},{"line_number":36,"context_line":"            self.logger.debug(\u0027op \u003d crash\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a3905b3_b1d4fdeb","line":33,"range":{"start_line":33,"start_character":28,"end_line":33,"end_character":34},"in_reply_to":"5a3905b3_9bb80077","updated":"2017-01-26 07:08:23.000000000","message":"Done","commit_id":"66dcc77c4f8f3f009ba5072b30f4c01995376cb6"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"d4aa703acdb801b418a6871040f568775d9b866c","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        op \u003d params.get(\u0027op\u0027, None)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        if op \u003d\u003d \u0027crash\u0027:"},{"line_number":36,"context_line":"            self.logger.debug(\u0027op \u003d crash\u0027)"},{"line_number":37,"context_line":"            raise Exception"},{"line_number":38,"context_line":"        metadata \u003d in_files[0].get_metadata()"},{"line_number":39,"context_line":"        out_files[0].set_metadata(metadata)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a3905b3_5b6938f8","line":36,"range":{"start_line":36,"start_character":12,"end_line":36,"end_character":43},"updated":"2017-01-24 06:55:45.000000000","message":"Can we place this to common place, like line 34?","commit_id":"66dcc77c4f8f3f009ba5072b30f4c01995376cb6"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"e5d7d6e953717cba5d6e47e374fb9ea3f6ba9858","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        op \u003d params.get(\u0027op\u0027, None)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        if op \u003d\u003d \u0027crash\u0027:"},{"line_number":36,"context_line":"            self.logger.debug(\u0027op \u003d crash\u0027)"},{"line_number":37,"context_line":"            raise Exception"},{"line_number":38,"context_line":"        metadata \u003d in_files[0].get_metadata()"},{"line_number":39,"context_line":"        out_files[0].set_metadata(metadata)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a461143_9aca6e4e","line":36,"range":{"start_line":36,"start_character":12,"end_line":36,"end_character":43},"in_reply_to":"5a3905b3_5b6938f8","updated":"2017-01-26 07:08:23.000000000","message":"Done","commit_id":"66dcc77c4f8f3f009ba5072b30f4c01995376cb6"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"d4aa703acdb801b418a6871040f568775d9b866c","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        if op \u003d\u003d \u0027print\u0027:"},{"line_number":42,"context_line":"            self.logger.debug(\u0027op \u003d print\u0027)"},{"line_number":43,"context_line":"            for key, value in params.items():"},{"line_number":44,"context_line":"                out_files[0].write(key)"},{"line_number":45,"context_line":"                out_files[0].write(\"     \")"},{"line_number":46,"context_line":"                out_files[0].write(value)"},{"line_number":47,"context_line":"                out_files[0].write(\"\\n\")"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        if op \u003d\u003d \u0027hold\u0027:"},{"line_number":50,"context_line":"            self.logger.debug(\u0027op \u003d hold\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a3905b3_1b8ed0cf","line":47,"range":{"start_line":44,"start_character":0,"end_line":47,"end_character":40},"updated":"2017-01-24 06:55:45.000000000","message":"Do we need to devide write call, or can we gather it into one line like\n\n out_files[0].write(\u0027%s    %s\\n\u0027 % (key, value))","commit_id":"66dcc77c4f8f3f009ba5072b30f4c01995376cb6"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"e5d7d6e953717cba5d6e47e374fb9ea3f6ba9858","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        if op \u003d\u003d \u0027print\u0027:"},{"line_number":42,"context_line":"            self.logger.debug(\u0027op \u003d print\u0027)"},{"line_number":43,"context_line":"            for key, value in params.items():"},{"line_number":44,"context_line":"                out_files[0].write(key)"},{"line_number":45,"context_line":"                out_files[0].write(\"     \")"},{"line_number":46,"context_line":"                out_files[0].write(value)"},{"line_number":47,"context_line":"                out_files[0].write(\"\\n\")"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        if op \u003d\u003d \u0027hold\u0027:"},{"line_number":50,"context_line":"            self.logger.debug(\u0027op \u003d hold\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a3905b3_312e4dfb","line":47,"range":{"start_line":44,"start_character":0,"end_line":47,"end_character":40},"in_reply_to":"5a3905b3_1b8ed0cf","updated":"2017-01-26 07:08:23.000000000","message":"Done","commit_id":"66dcc77c4f8f3f009ba5072b30f4c01995376cb6"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"b377a9c9c44c1524d2e4ebc9dfdda55ffc19584f","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        self.logger.debug(\u0027op \u003d %s\u0027 % op)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        if op \u003d\u003d \u0027crash\u0027:"},{"line_number":37,"context_line":"            raise Exception"},{"line_number":38,"context_line":"        metadata \u003d in_files[0].get_metadata()"},{"line_number":39,"context_line":"        out_files[0].set_metadata(metadata)"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3a461143_b3a9fa7d","line":37,"range":{"start_line":37,"start_character":12,"end_line":37,"end_character":27},"updated":"2017-01-26 17:13:38.000000000","message":"You should raise instance instead of type here.\n\nraise Exception(\u0027Crashed\u0027)","commit_id":"622b51a3036bad62585879018ab9c2e3575b7961"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"313d1778ba1e53e9bccd610ac2845b85f8b485d0","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        self.logger.debug(\u0027op \u003d %s\u0027 % op)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        if op \u003d\u003d \u0027crash\u0027:"},{"line_number":37,"context_line":"            raise Exception"},{"line_number":38,"context_line":"        metadata \u003d in_files[0].get_metadata()"},{"line_number":39,"context_line":"        out_files[0].set_metadata(metadata)"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3a461143_1aa36101","line":37,"range":{"start_line":37,"start_character":12,"end_line":37,"end_character":27},"in_reply_to":"3a461143_b3a9fa7d","updated":"2017-01-30 13:08:27.000000000","message":"Done","commit_id":"622b51a3036bad62585879018ab9c2e3575b7961"}],"tests/functional/python/test_test_storlet.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"e35ebef10d7994a9570cd43404e643b1348a0c06","unresolved":false,"context_lines":[{"line_number":85,"context_line":"                None, None, None, None, headers)"},{"line_number":86,"context_line":"            self.assertEqual(resp_headers.get(\u0027status\u0027), 200)"},{"line_number":87,"context_line":"            self.assertEqual(get_text.read(), \u0027aaa\u0027)"},{"line_number":88,"context_line":"            self.assertEqual(resp_headers.get(\u0027status\u0027) \u003d\u003d 200)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        if op \u003d\u003d \u0027print\u0027:"},{"line_number":91,"context_line":"            self.assertEqual(get_response_status, 200)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_2e2e72fa","line":88,"range":{"start_line":88,"start_character":29,"end_line":88,"end_character":62},"updated":"2016-12-20 07:48:28.000000000","message":"This should be fixed","commit_id":"55731268cd63731f91fe5efe10ffc053dceae127"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"d4aa703acdb801b418a6871040f568775d9b866c","unresolved":false,"context_lines":[{"line_number":53,"context_line":"                                \u0027some content\u0027)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    def tearDown(self):"},{"line_number":56,"context_line":"        headers \u003d {\u0027X-Container-Read\u0027: \u0027\u0027}"},{"line_number":57,"context_line":"        swift_client.post_container(self.url,"},{"line_number":58,"context_line":"                                    self.token,"},{"line_number":59,"context_line":"                                    \u0027myobjects\u0027,"},{"line_number":60,"context_line":"                                    headers)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def invokeTestStorlet(self, op, withlog\u003dFalse):"},{"line_number":63,"context_line":"        headers \u003d {\u0027X-Run-Storlet\u0027: self.storlet_name}"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a3905b3_7608cb28","line":60,"range":{"start_line":56,"start_character":8,"end_line":60,"end_character":44},"updated":"2017-01-24 06:55:45.000000000","message":"I think you should not place this here, as you don\u0027t need this clean-up for all test cases. You should place this in test cases where you need clean-up.","commit_id":"66dcc77c4f8f3f009ba5072b30f4c01995376cb6"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"e5d7d6e953717cba5d6e47e374fb9ea3f6ba9858","unresolved":false,"context_lines":[{"line_number":53,"context_line":"                                \u0027some content\u0027)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    def tearDown(self):"},{"line_number":56,"context_line":"        headers \u003d {\u0027X-Container-Read\u0027: \u0027\u0027}"},{"line_number":57,"context_line":"        swift_client.post_container(self.url,"},{"line_number":58,"context_line":"                                    self.token,"},{"line_number":59,"context_line":"                                    \u0027myobjects\u0027,"},{"line_number":60,"context_line":"                                    headers)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def invokeTestStorlet(self, op, withlog\u003dFalse):"},{"line_number":63,"context_line":"        headers \u003d {\u0027X-Run-Storlet\u0027: self.storlet_name}"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a3905b3_910e218a","line":60,"range":{"start_line":56,"start_character":8,"end_line":60,"end_character":44},"in_reply_to":"5a3905b3_7608cb28","updated":"2017-01-26 07:08:23.000000000","message":"Done","commit_id":"66dcc77c4f8f3f009ba5072b30f4c01995376cb6"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"d4aa703acdb801b418a6871040f568775d9b866c","unresolved":false,"context_lines":[{"line_number":59,"context_line":"                                    \u0027myobjects\u0027,"},{"line_number":60,"context_line":"                                    headers)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def invokeTestStorlet(self, op, withlog\u003dFalse):"},{"line_number":63,"context_line":"        headers \u003d {\u0027X-Run-Storlet\u0027: self.storlet_name}"},{"line_number":64,"context_line":"        headers.update(self.additional_headers)"},{"line_number":65,"context_line":"        if withlog is True:"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a3905b3_1b2a5090","line":62,"range":{"start_line":62,"start_character":8,"end_line":62,"end_character":25},"updated":"2017-01-24 06:55:45.000000000","message":"As I\u0027m trying to fix java\u0027s functional tests in [1], I don\u0027t like to hide difference between test cases in this util function.","commit_id":"66dcc77c4f8f3f009ba5072b30f4c01995376cb6"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"e5d7d6e953717cba5d6e47e374fb9ea3f6ba9858","unresolved":false,"context_lines":[{"line_number":59,"context_line":"                                    \u0027myobjects\u0027,"},{"line_number":60,"context_line":"                                    headers)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def invokeTestStorlet(self, op, withlog\u003dFalse):"},{"line_number":63,"context_line":"        headers \u003d {\u0027X-Run-Storlet\u0027: self.storlet_name}"},{"line_number":64,"context_line":"        headers.update(self.additional_headers)"},{"line_number":65,"context_line":"        if withlog is True:"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a461143_2d3ce692","line":62,"range":{"start_line":62,"start_character":8,"end_line":62,"end_character":25},"in_reply_to":"5a3905b3_1b2a5090","updated":"2017-01-26 07:08:23.000000000","message":"[1] is \u003chttps://review.openstack.org/#/c/420419/\u003e?","commit_id":"66dcc77c4f8f3f009ba5072b30f4c01995376cb6"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"b377a9c9c44c1524d2e4ebc9dfdda55ffc19584f","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class myTestThread(threading.Thread):"},{"line_number":25,"context_line":"    def __init__(self, url, token, test_class):"},{"line_number":26,"context_line":"        threading.Thread.__init__(self)"},{"line_number":27,"context_line":"        self.token \u003d token"},{"line_number":28,"context_line":"        self.url \u003d url"},{"line_number":29,"context_line":"        self.test_class \u003d test_class"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a461143_93fdde3c","line":26,"range":{"start_line":26,"start_character":7,"end_line":26,"end_character":39},"updated":"2017-01-26 17:13:38.000000000","message":"You should use super instead.","commit_id":"622b51a3036bad62585879018ab9c2e3575b7961"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"313d1778ba1e53e9bccd610ac2845b85f8b485d0","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class myTestThread(threading.Thread):"},{"line_number":25,"context_line":"    def __init__(self, url, token, test_class):"},{"line_number":26,"context_line":"        threading.Thread.__init__(self)"},{"line_number":27,"context_line":"        self.token \u003d token"},{"line_number":28,"context_line":"        self.url \u003d url"},{"line_number":29,"context_line":"        self.test_class \u003d test_class"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a461143_fad6954d","line":26,"range":{"start_line":26,"start_character":7,"end_line":26,"end_character":39},"in_reply_to":"3a461143_93fdde3c","updated":"2017-01-30 13:08:27.000000000","message":"Done","commit_id":"622b51a3036bad62585879018ab9c2e3575b7961"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"b377a9c9c44c1524d2e4ebc9dfdda55ffc19584f","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                                \u0027test_object\u0027,"},{"line_number":53,"context_line":"                                \u0027some content\u0027)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    def invokeTestStorlet(self, op, withlog\u003dFalse):"},{"line_number":56,"context_line":"        headers \u003d {\u0027X-Run-Storlet\u0027: self.storlet_name}"},{"line_number":57,"context_line":"        headers.update(self.additional_headers)"},{"line_number":58,"context_line":"        if withlog is True:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a461143_53b1b68e","line":55,"range":{"start_line":55,"start_character":8,"end_line":55,"end_character":25},"updated":"2017-01-26 17:13:38.000000000","message":"invoke_test_storlet is more pythonic name","commit_id":"622b51a3036bad62585879018ab9c2e3575b7961"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"313d1778ba1e53e9bccd610ac2845b85f8b485d0","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                                \u0027test_object\u0027,"},{"line_number":53,"context_line":"                                \u0027some content\u0027)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    def invokeTestStorlet(self, op, withlog\u003dFalse):"},{"line_number":56,"context_line":"        headers \u003d {\u0027X-Run-Storlet\u0027: self.storlet_name}"},{"line_number":57,"context_line":"        headers.update(self.additional_headers)"},{"line_number":58,"context_line":"        if withlog is True:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a461143_55d05a1f","line":55,"range":{"start_line":55,"start_character":8,"end_line":55,"end_character":25},"in_reply_to":"3a461143_53b1b68e","updated":"2017-01-30 13:08:27.000000000","message":"I modify \u0027invoke_test_storlet\u0027 to \u0027invoke_storlet\u0027 because \u0027invoke_test_storlet\u0027 is cognized as test items.","commit_id":"622b51a3036bad62585879018ab9c2e3575b7961"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"b377a9c9c44c1524d2e4ebc9dfdda55ffc19584f","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                self.assertTrue(get_response_status \u003e\u003d 500 or"},{"line_number":73,"context_line":"                                get_response_status \u003d\u003d 404)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        if withlog is True:"},{"line_number":76,"context_line":"            resp_headers, get_text \u003d swift_client.get_object("},{"line_number":77,"context_line":"                self.url, self.token, \u0027storletlog\u0027, \u0027test.log\u0027,"},{"line_number":78,"context_line":"                None, None, None, None, headers)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a461143_d31206b4","line":75,"range":{"start_line":75,"start_character":8,"end_line":75,"end_character":27},"updated":"2017-01-26 17:13:38.000000000","message":"(nit) if withlog:","commit_id":"622b51a3036bad62585879018ab9c2e3575b7961"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"b377a9c9c44c1524d2e4ebc9dfdda55ffc19584f","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                self.assertTrue(get_response_status \u003e\u003d 500 or"},{"line_number":73,"context_line":"                                get_response_status \u003d\u003d 404)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        if withlog is True:"},{"line_number":76,"context_line":"            resp_headers, get_text \u003d swift_client.get_object("},{"line_number":77,"context_line":"                self.url, self.token, \u0027storletlog\u0027, \u0027test.log\u0027,"},{"line_number":78,"context_line":"                None, None, None, None, headers)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a461143_536e1630","line":75,"range":{"start_line":75,"start_character":8,"end_line":75,"end_character":27},"updated":"2017-01-26 17:13:38.000000000","message":"I can\u0027t find the place where you are using this log assertion","commit_id":"622b51a3036bad62585879018ab9c2e3575b7961"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"313d1778ba1e53e9bccd610ac2845b85f8b485d0","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                self.assertTrue(get_response_status \u003e\u003d 500 or"},{"line_number":73,"context_line":"                                get_response_status \u003d\u003d 404)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        if withlog is True:"},{"line_number":76,"context_line":"            resp_headers, get_text \u003d swift_client.get_object("},{"line_number":77,"context_line":"                self.url, self.token, \u0027storletlog\u0027, \u0027test.log\u0027,"},{"line_number":78,"context_line":"                None, None, None, None, headers)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a461143_bafecdab","line":75,"range":{"start_line":75,"start_character":8,"end_line":75,"end_character":27},"in_reply_to":"3a461143_536e1630","updated":"2017-01-30 13:08:27.000000000","message":"Done","commit_id":"622b51a3036bad62585879018ab9c2e3575b7961"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"313d1778ba1e53e9bccd610ac2845b85f8b485d0","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                self.assertTrue(get_response_status \u003e\u003d 500 or"},{"line_number":73,"context_line":"                                get_response_status \u003d\u003d 404)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        if withlog is True:"},{"line_number":76,"context_line":"            resp_headers, get_text \u003d swift_client.get_object("},{"line_number":77,"context_line":"                self.url, self.token, \u0027storletlog\u0027, \u0027test.log\u0027,"},{"line_number":78,"context_line":"                None, None, None, None, headers)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a461143_9a0111b2","line":75,"range":{"start_line":75,"start_character":8,"end_line":75,"end_character":27},"in_reply_to":"3a461143_d31206b4","updated":"2017-01-30 13:08:27.000000000","message":"Done","commit_id":"622b51a3036bad62585879018ab9c2e3575b7961"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"b377a9c9c44c1524d2e4ebc9dfdda55ffc19584f","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                None, None, None, None, headers)"},{"line_number":79,"context_line":"            self.assertEqual(resp_headers.get(\u0027status\u0027), 200)"},{"line_number":80,"context_line":"            self.assertEqual(get_text.read(), \u0027aaa\u0027)"},{"line_number":81,"context_line":"            self.assertEqual(resp_headers.get(\u0027status\u0027), 200)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        if op \u003d\u003d \u0027print\u0027:"},{"line_number":84,"context_line":"            self.assertEqual(get_response_status, 200)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a461143_b3457ab4","line":81,"range":{"start_line":81,"start_character":12,"end_line":81,"end_character":61},"updated":"2017-01-26 17:13:38.000000000","message":"this line is duplicated","commit_id":"622b51a3036bad62585879018ab9c2e3575b7961"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"313d1778ba1e53e9bccd610ac2845b85f8b485d0","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                None, None, None, None, headers)"},{"line_number":79,"context_line":"            self.assertEqual(resp_headers.get(\u0027status\u0027), 200)"},{"line_number":80,"context_line":"            self.assertEqual(get_text.read(), \u0027aaa\u0027)"},{"line_number":81,"context_line":"            self.assertEqual(resp_headers.get(\u0027status\u0027), 200)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        if op \u003d\u003d \u0027print\u0027:"},{"line_number":84,"context_line":"            self.assertEqual(get_response_status, 200)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a461143_3a12dd09","line":81,"range":{"start_line":81,"start_character":12,"end_line":81,"end_character":61},"in_reply_to":"3a461143_b3457ab4","updated":"2017-01-30 13:08:27.000000000","message":"Done","commit_id":"622b51a3036bad62585879018ab9c2e3575b7961"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"b377a9c9c44c1524d2e4ebc9dfdda55ffc19584f","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        if op \u003d\u003d \u0027print\u0027:"},{"line_number":84,"context_line":"            self.assertEqual(get_response_status, 200)"},{"line_number":85,"context_line":"            self.assertIn(\u0027op\u0027, get_text)"},{"line_number":86,"context_line":"            self.assertIn(\u0027print\u0027, get_text)"},{"line_number":87,"context_line":"            self.assertIn(\u0027param2\u0027, get_text)"},{"line_number":88,"context_line":"            self.assertIn(\u0027val2\u0027, get_text)"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3a461143_5340d6a5","line":86,"range":{"start_line":85,"start_character":0,"end_line":86,"end_character":44},"updated":"2017-01-26 17:13:38.000000000","message":"why don\u0027t you assert each lines instead of just words?","commit_id":"622b51a3036bad62585879018ab9c2e3575b7961"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"313d1778ba1e53e9bccd610ac2845b85f8b485d0","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        if op \u003d\u003d \u0027print\u0027:"},{"line_number":84,"context_line":"            self.assertEqual(get_response_status, 200)"},{"line_number":85,"context_line":"            self.assertIn(\u0027op\u0027, get_text)"},{"line_number":86,"context_line":"            self.assertIn(\u0027print\u0027, get_text)"},{"line_number":87,"context_line":"            self.assertIn(\u0027param2\u0027, get_text)"},{"line_number":88,"context_line":"            self.assertIn(\u0027val2\u0027, get_text)"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3a461143_9a1e71b9","line":86,"range":{"start_line":85,"start_character":0,"end_line":86,"end_character":44},"in_reply_to":"3a461143_5340d6a5","updated":"2017-01-30 13:08:27.000000000","message":"Done","commit_id":"622b51a3036bad62585879018ab9c2e3575b7961"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"b377a9c9c44c1524d2e4ebc9dfdda55ffc19584f","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    def test_hold(self):"},{"line_number":97,"context_line":"        self.invokeTestStorlet(\"hold\")"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    def invokeTestStorletinParallel(self):"},{"line_number":100,"context_line":"        mythreads \u003d []"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        for i in range(10):"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a461143_136e4e01","line":99,"range":{"start_line":99,"start_character":8,"end_line":99,"end_character":35},"updated":"2017-01-26 17:13:38.000000000","message":"ditto","commit_id":"622b51a3036bad62585879018ab9c2e3575b7961"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"313d1778ba1e53e9bccd610ac2845b85f8b485d0","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    def test_hold(self):"},{"line_number":97,"context_line":"        self.invokeTestStorlet(\"hold\")"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    def invokeTestStorletinParallel(self):"},{"line_number":100,"context_line":"        mythreads \u003d []"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        for i in range(10):"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a461143_75cd5684","line":99,"range":{"start_line":99,"start_character":8,"end_line":99,"end_character":35},"in_reply_to":"3a461143_136e4e01","updated":"2017-01-30 13:08:27.000000000","message":"Done","commit_id":"622b51a3036bad62585879018ab9c2e3575b7961"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"9fa6f81753e1bf4de78acc4126fa441fb16ad33e","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def test_crash(self):"},{"line_number":90,"context_line":"        self.invoke_storlet(\"crash\")"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    def test_hold(self):"},{"line_number":93,"context_line":"        self.invoke_storlet(\"hold\")"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3a461143_6e3acb9a","line":91,"updated":"2017-01-31 07:15:50.000000000","message":"I think we need here:  @attr(\u0027slow\u0027)","commit_id":"d54213a7a2893c7fdc00b3aa154c8842abc4b1ec"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"99776ee1ec7ec841531d2457478352f10f9b334a","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                                \u0027test_object\u0027,"},{"line_number":52,"context_line":"                                \u0027some content\u0027)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def tearDown(self):"},{"line_number":55,"context_line":"        headers \u003d {\u0027X-Container-Read\u0027: \u0027\u0027}"},{"line_number":56,"context_line":"        swift_client.post_container(self.url,"},{"line_number":57,"context_line":"                                    self.token,"},{"line_number":58,"context_line":"                                    \u0027myobjects\u0027,"},{"line_number":59,"context_line":"                                    headers)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def invoke_storlet(self, op, withlog\u003dFalse):"},{"line_number":62,"context_line":"        headers \u003d {\u0027X-Run-Storlet\u0027: self.storlet_name}"}],"source_content_type":"text/x-python","patch_set":12,"id":"3a461143_6ae2b030","line":59,"range":{"start_line":54,"start_character":0,"end_line":59,"end_character":44},"updated":"2017-01-31 11:00:34.000000000","message":"I understanded for Eran\u0027s comments.\nI restored this.","commit_id":"1f818f85f58407d12150b3086d2bb0a3f87c0cee"}]}
