)]}'
{"dragonflow/common/exceptions.py":[{"author":{"_account_id":21007,"name":"yuan wei","email":"wei.yuan@huawei.com","username":"yuanwei"},"change_message_id":"d9e3ba312f642c69cdd3b498caa06904abc71cd4","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    def __str__(self):"},{"line_number":97,"context_line":"        if isinstance(self.inner_exceptions, list):"},{"line_number":98,"context_line":"            return \u0027,\u0027.join(str(error) for error in self.inner_exceptions)"},{"line_number":99,"context_line":"        else:"},{"line_number":100,"context_line":"            return str(self.inner_exceptions)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_b87b9bf3","line":100,"range":{"start_line":99,"start_character":7,"end_line":100,"end_character":45},"updated":"2016-09-11 07:27:57.000000000","message":"If those codes are necessary? This exception seems only for the above usage like its name:)","commit_id":"a30cf50f3381ae258fc3493707b21ae5503f8b00"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"685a99bee63ea68d8209c1d22783a537c20f8222","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    def __str__(self):"},{"line_number":97,"context_line":"        if isinstance(self.inner_exceptions, list):"},{"line_number":98,"context_line":"            return \u0027,\u0027.join(str(error) for error in self.inner_exceptions)"},{"line_number":99,"context_line":"        else:"},{"line_number":100,"context_line":"            return str(self.inner_exceptions)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_38d6abc3","line":100,"range":{"start_line":99,"start_character":7,"end_line":100,"end_character":45},"in_reply_to":"9a89bdaa_b87b9bf3","updated":"2016-09-11 07:33:31.000000000","message":"Done","commit_id":"a30cf50f3381ae258fc3493707b21ae5503f8b00"}],"dragonflow/controller/dispatcher.py":[{"author":{"_account_id":21007,"name":"yuan wei","email":"wei.yuan@huawei.com","username":"yuanwei"},"change_message_id":"d9e3ba312f642c69cdd3b498caa06904abc71cd4","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                    errors.append(e)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        if errors:"},{"line_number":55,"context_line":"            raise exceptions.DFMultipleExceptions(errors)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_384f8bbf","line":55,"updated":"2016-09-11 07:27:57.000000000","message":"After this patch is merged, if we can get some \u0027call stack information\u0027 also? Those information may be useful for debugging.","commit_id":"a30cf50f3381ae258fc3493707b21ae5503f8b00"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"685a99bee63ea68d8209c1d22783a537c20f8222","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                    errors.append(e)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        if errors:"},{"line_number":55,"context_line":"            raise exceptions.DFMultipleExceptions(errors)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_98edf790","line":55,"in_reply_to":"9a89bdaa_384f8bbf","updated":"2016-09-11 07:33:31.000000000","message":"Yes, the exception stack trace will still be print.","commit_id":"a30cf50f3381ae258fc3493707b21ae5503f8b00"}],"dragonflow/tests/unit/test_dispatcher.py":[{"author":{"_account_id":23235,"name":"Lihi Wishnitzer","email":"lihiwish@gmail.com","username":"lihiwish"},"change_message_id":"f44c5822f6c3dc2dfe4b4c3713d352f0f9286dd1","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        self.dispatcher \u003d dispatcher.AppDispatcher(\"\", \"\")"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def test_dispatch_with_exception(self):"},{"line_number":36,"context_line":"        fake_app \u003d mock.MagicMock()"},{"line_number":37,"context_line":"        self.dispatcher.apps \u003d [FakeAppWithException(\u0027fake1\u0027),"},{"line_number":38,"context_line":"                                FakeAppWithException(\u0027fake2\u0027),"},{"line_number":39,"context_line":"                                fake_app]"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a89bdaa_b2fe57ac","line":36,"range":{"start_line":36,"start_character":24,"end_line":36,"end_character":35},"updated":"2016-09-11 13:20:16.000000000","message":"MagicMock in 3.5 seems to not be mocking \"fake_handler\".\nPlease consider using the spec argument.","commit_id":"1d1fe380157730084c864974d12754f95f7a0619"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"729edccc750865a3c43bfd64f3fce993f4d85f39","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        self.dispatcher \u003d dispatcher.AppDispatcher(\"\", \"\")"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def test_dispatch_with_exception(self):"},{"line_number":36,"context_line":"        fake_app \u003d mock.MagicMock()"},{"line_number":37,"context_line":"        self.dispatcher.apps \u003d [FakeAppWithException(\u0027fake1\u0027),"},{"line_number":38,"context_line":"                                FakeAppWithException(\u0027fake2\u0027),"},{"line_number":39,"context_line":"                                fake_app]"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a89bdaa_7f2f263e","line":36,"range":{"start_line":36,"start_character":24,"end_line":36,"end_character":35},"in_reply_to":"9a89bdaa_b2fe57ac","updated":"2016-09-12 08:47:53.000000000","message":"The root cause is at [1]. The global mock will affect the execution here. The actual AppDispatcher.dispatch is not executed! I can reproduce it in my local env by \"tox -e py27\" sometimes. I make this change [2] to address this issue.\n\n\n\n[1] https://github.com/openstack/dragonflow/blob/e7ba890d0158eb6767099f6d2ff5bf83a64884a3/dragonflow/tests/unit/test_controller.py#L24\n\n[2] https://review.openstack.org/#/c/368641/","commit_id":"1d1fe380157730084c864974d12754f95f7a0619"}]}
