)]}'
{"cinder/tests/unit/fake_utils.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"da7c8ef72a1e157e61a68b9a8bea6bd68317eabb","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        # If the reply handler is a string, return it as stdout"},{"line_number":78,"context_line":"        reply \u003d reply_handler, \u0027\u0027"},{"line_number":79,"context_line":"    else:"},{"line_number":80,"context_line":"        # Alternative is a function, so call it"},{"line_number":81,"context_line":"        reply \u003d reply_handler(cmd_parts,"},{"line_number":82,"context_line":"                              process_input\u003dprocess_input,"},{"line_number":83,"context_line":"                              delay_on_retry\u003ddelay_on_retry,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_8f71a578","line":80,"updated":"2015-07-01 21:06:49.000000000","message":"Thanks for thinking to remove the try/except logic.","commit_id":"85679f5b17ffee9ea6fa7f3d695414f581efe2f5"}],"cinder/tests/unit/integrated/test_login.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"da7c8ef72a1e157e61a68b9a8bea6bd68317eabb","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    def test_login(self):"},{"line_number":21,"context_line":"        \"\"\"Simple check - we list volumes - so we know we\u0027re logged in.\"\"\""},{"line_number":22,"context_line":"        volumes \u003d self.api.get_volumes()"},{"line_number":23,"context_line":"        for volume in volumes:"},{"line_number":24,"context_line":"            pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_cf700da7","line":23,"updated":"2015-07-01 21:06:49.000000000","message":"Can\u0027t we just drop this for loop altogether?\n\nWhat about the test?  I don\u0027t get it.  Can we at least assert that volumes is not None (even if empty list)?","commit_id":"85679f5b17ffee9ea6fa7f3d695414f581efe2f5"}],"cinder/tests/unit/integrated/test_volumes.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"da7c8ef72a1e157e61a68b9a8bea6bd68317eabb","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    def test_get_volumes_summary(self):"},{"line_number":43,"context_line":"        \"\"\"Simple check that listing volumes works.\"\"\""},{"line_number":44,"context_line":"        volumes \u003d self.api.get_volumes(False)"},{"line_number":45,"context_line":"        for volume in volumes:"},{"line_number":46,"context_line":"            pass"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def test_get_volumes(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_4fecfdf2","line":45,"updated":"2015-07-01 21:06:49.000000000","message":"Another for loop that seems unhelpful, but maybe I\u0027m not getting something.","commit_id":"85679f5b17ffee9ea6fa7f3d695414f581efe2f5"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"da7c8ef72a1e157e61a68b9a8bea6bd68317eabb","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    def test_get_volumes(self):"},{"line_number":49,"context_line":"        \"\"\"Simple check that listing volumes works.\"\"\""},{"line_number":50,"context_line":"        volumes \u003d self.api.get_volumes()"},{"line_number":51,"context_line":"        for volume in volumes:"},{"line_number":52,"context_line":"            pass"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def _poll_while(self, volume_id, continue_states, max_retries\u003d5):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_efbb91e3","line":51,"updated":"2015-07-01 21:06:49.000000000","message":"ditto","commit_id":"85679f5b17ffee9ea6fa7f3d695414f581efe2f5"}],"cinder/tests/unit/scheduler/test_scheduler.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"da7c8ef72a1e157e61a68b9a8bea6bd68317eabb","unresolved":false,"context_lines":[{"line_number":264,"context_line":"                               \u0027schedule_create_consistencygroup\u0027) as mock_cg:"},{"line_number":265,"context_line":"            original_driver \u003d self.manager.driver"},{"line_number":266,"context_line":"            self.manager.driver \u003d filter_scheduler.FilterScheduler"},{"line_number":267,"context_line":"            LOG \u003d self.mock_object(manager, \u0027LOG\u0027)"},{"line_number":268,"context_line":"            self.stubs.Set(db, \u0027consistencygroup_update\u0027, mock.Mock())"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"            ex \u003d exception.CinderException(\u0027test\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_0f8fd52a","line":267,"updated":"2015-07-01 21:06:49.000000000","message":"Nice.","commit_id":"85679f5b17ffee9ea6fa7f3d695414f581efe2f5"}],"cinder/tests/unit/test_hacking.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"5cfe88a43568ab7d2712f38d22ffffdc8c535344","unresolved":false,"context_lines":[{"line_number":370,"context_line":"        (0, \u0027some.LOG.error.call\u0027, \"cinder/tests/fake.py\", False),"},{"line_number":371,"context_line":"        (0, \u0027LOG.warning\u0027, \"cinder/tests/unit/fake.py\", True),"},{"line_number":372,"context_line":"        (0, \u0027LOG.warning\u0027, \"cinder/tests/unit/integrated/fake.py\", False))"},{"line_number":373,"context_line":"    def test_no_test_log(self, first, second, third, fourth):"},{"line_number":374,"context_line":"        self.assertEqual(first, len(list(checks.no_test_log("},{"line_number":375,"context_line":"            \"%s(\u0027arg\u0027)\" % second, third, fourth))))"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba3cc151_be37474c","line":373,"updated":"2015-07-07 09:02:43.000000000","message":"Those are not very meaningful argument names...  ;-)","commit_id":"68b24279e9a4f16e70c87abd03660aade669ed0f"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"3f20bc0cfda93d5ce275875700785ec6b6665647","unresolved":false,"context_lines":[{"line_number":370,"context_line":"        (0, \u0027some.LOG.error.call\u0027, \"cinder/tests/fake.py\", False),"},{"line_number":371,"context_line":"        (0, \u0027LOG.warning\u0027, \"cinder/tests/unit/fake.py\", True),"},{"line_number":372,"context_line":"        (0, \u0027LOG.warning\u0027, \"cinder/tests/unit/integrated/fake.py\", False))"},{"line_number":373,"context_line":"    def test_no_test_log(self, first, second, third, fourth):"},{"line_number":374,"context_line":"        self.assertEqual(first, len(list(checks.no_test_log("},{"line_number":375,"context_line":"            \"%s(\u0027arg\u0027)\" % second, third, fourth))))"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba3cc151_c837e3ae","line":373,"in_reply_to":"ba3cc151_be37474c","updated":"2015-07-07 13:45:19.000000000","message":"That was actually on purpose. Just making it clear from the ddt parameters which value is being used where.","commit_id":"68b24279e9a4f16e70c87abd03660aade669ed0f"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"23f5476998274d5db488142c645cc48dbca706bf","unresolved":false,"context_lines":[{"line_number":370,"context_line":"        (0, \u0027some.LOG.error.call\u0027, \"cinder/tests/fake.py\", False),"},{"line_number":371,"context_line":"        (0, \u0027LOG.warning\u0027, \"cinder/tests/unit/fake.py\", True),"},{"line_number":372,"context_line":"        (0, \u0027LOG.warning\u0027, \"cinder/tests/unit/integrated/fake.py\", False))"},{"line_number":373,"context_line":"    def test_no_test_log(self, first, second, third, fourth):"},{"line_number":374,"context_line":"        self.assertEqual(first, len(list(checks.no_test_log("},{"line_number":375,"context_line":"            \"%s(\u0027arg\u0027)\" % second, third, fourth))))"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba3cc151_a46df8cd","line":373,"in_reply_to":"ba3cc151_be37474c","updated":"2015-07-07 09:14:31.000000000","message":"oh, sometimes variable\u0027s name is  trouble ), I often have problems with them.","commit_id":"68b24279e9a4f16e70c87abd03660aade669ed0f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"f885de51330561d76a475f596e08b4de897b8471","unresolved":false,"context_lines":[{"line_number":370,"context_line":"        (0, \u0027some.LOG.error.call\u0027, \"cinder/tests/fake.py\", False),"},{"line_number":371,"context_line":"        (0, \u0027LOG.warning\u0027, \"cinder/tests/unit/fake.py\", True),"},{"line_number":372,"context_line":"        (0, \u0027LOG.warning\u0027, \"cinder/tests/unit/integrated/fake.py\", False))"},{"line_number":373,"context_line":"    def test_no_test_log(self, first, second, third, fourth):"},{"line_number":374,"context_line":"        self.assertEqual(first, len(list(checks.no_test_log("},{"line_number":375,"context_line":"            \"%s(\u0027arg\u0027)\" % second, third, fourth))))"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba3cc151_db4b2858","line":373,"in_reply_to":"ba3cc151_c837e3ae","updated":"2015-07-07 14:47:27.000000000","message":"While it makes it clear what position of the data we are referring to, it does nothing to explain the meaning/function of the data.","commit_id":"68b24279e9a4f16e70c87abd03660aade669ed0f"}]}
