)]}'
{"neutron/tests/unit/openvswitch/test_ovs_tunnel.py":[{"author":{"_account_id":2733,"name":"Darragh O\u0027Reilly","email":"doreilly@suse.com","username":"darragh-oreilly"},"change_message_id":"a50b19b46b57b2ae57af0b35f4b40727ca5a1427","unresolved":false,"context_lines":[{"line_number":216,"context_line":"        ]"},{"line_number":217,"context_line":"        self.execute_p \u003d mock.patch(\u0027neutron.agent.linux.utils.execute\u0027)"},{"line_number":218,"context_line":"        self.execute \u003d self.execute_p.start()"},{"line_number":219,"context_line":"        self.addCleanup(self.execute_p.stop)"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"    def _verify_mock_call(self, mock_obj, expected):"},{"line_number":222,"context_line":"        mock_obj.assert_has_calls(expected)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2BnMY%3D","line":219,"updated":"2013-11-22 14:04:58.000000000","message":"I don\u0027t think the cleanup is needed here as line 73 has self.addCleanup(mock.patch.stopall). And the new self variables are never used again. \n\nTo keep it consistent with the rest of the tests in this file, should you not verify that the call was made?\n\nself.execute \u003d mock.patch(\u0027neutron.agent.linux.utils.execute\u0027).start()\n\nself.execute_expected \u003d [mock.call([\u0027/sbin/udevadm\u0027, \u0027settle\u0027, \u0027--timeout\u003d10\u0027])]\n\nThen append to _verify_mock_calls():\n\nself._verify_mock_call(self.execute, self.execute_expected)","commit_id":"f7d6f7027d293f8874100e4b855a2856663e092e"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"afa510d9c8c02fdd12717572356d745d0e97218f","unresolved":false,"context_lines":[{"line_number":216,"context_line":"        ]"},{"line_number":217,"context_line":"        self.execute_p \u003d mock.patch(\u0027neutron.agent.linux.utils.execute\u0027)"},{"line_number":218,"context_line":"        self.execute \u003d self.execute_p.start()"},{"line_number":219,"context_line":"        self.addCleanup(self.execute_p.stop)"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"    def _verify_mock_call(self, mock_obj, expected):"},{"line_number":222,"context_line":"        mock_obj.assert_has_calls(expected)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2BlOo%3D","line":219,"in_reply_to":"AAAATn%2F%2BnMY%3D","updated":"2013-11-22 20:33:42.000000000","message":"will change as stated. thanks.","commit_id":"f7d6f7027d293f8874100e4b855a2856663e092e"},{"author":{"_account_id":2733,"name":"Darragh O\u0027Reilly","email":"doreilly@suse.com","username":"darragh-oreilly"},"change_message_id":"79a3521adf31b513aa54e5c2e35c4ca20e69b97d","unresolved":false,"context_lines":[{"line_number":215,"context_line":"            mock.call(\u0027sudo\u0027)"},{"line_number":216,"context_line":"        ]"},{"line_number":217,"context_line":"        self.execute_p \u003d mock.patch(\u0027neutron.agent.linux.utils.execute\u0027)"},{"line_number":218,"context_line":"        self.execute \u003d self.execute_p.start()"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"    def _verify_mock_call(self, mock_obj, expected):"},{"line_number":221,"context_line":"        mock_obj.assert_has_calls(expected)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2Bk98%3D","line":218,"updated":"2013-11-22 21:45:50.000000000","message":"You could combine lines 217 and 218, just like get_bridges in 210, and all the other patching in setUp().","commit_id":"7b7e09314560e4058bd4ccddc6c34b29d51a6098"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"fbad871caf909b7789c05b715908402913f6f915","unresolved":false,"context_lines":[{"line_number":215,"context_line":"            mock.call(\u0027sudo\u0027)"},{"line_number":216,"context_line":"        ]"},{"line_number":217,"context_line":"        self.execute_p \u003d mock.patch(\u0027neutron.agent.linux.utils.execute\u0027)"},{"line_number":218,"context_line":"        self.execute \u003d self.execute_p.start()"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"    def _verify_mock_call(self, mock_obj, expected):"},{"line_number":221,"context_line":"        mock_obj.assert_has_calls(expected)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2Bkys%3D","line":218,"in_reply_to":"AAAATn%2F%2Bk98%3D","updated":"2013-11-22 22:24:28.000000000","message":"will do.","commit_id":"7b7e09314560e4058bd4ccddc6c34b29d51a6098"},{"author":{"_account_id":2733,"name":"Darragh O\u0027Reilly","email":"doreilly@suse.com","username":"darragh-oreilly"},"change_message_id":"79a3521adf31b513aa54e5c2e35c4ca20e69b97d","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        mock_obj.assert_has_calls(expected)"},{"line_number":222,"context_line":"        self.assertEqual(len(mock_obj.mock_calls), len(expected))"},{"line_number":223,"context_line":"        self.execute_expected \u003d [mock.call([\u0027/sbin/udevadm\u0027, \u0027settle\u0027,"},{"line_number":224,"context_line":"                                            \u0027--timeout\u003d10\u0027])]"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    def _verify_mock_calls(self):"},{"line_number":227,"context_line":"        self._verify_mock_call(self.mock_bridge, self.mock_bridge_expected)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2Bk%2Bc%3D","line":224,"updated":"2013-11-22 21:45:50.000000000","message":"This line should be in setUp(). Follow the pattern of get_bridges and get_bridges_expected.","commit_id":"7b7e09314560e4058bd4ccddc6c34b29d51a6098"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"fbad871caf909b7789c05b715908402913f6f915","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        mock_obj.assert_has_calls(expected)"},{"line_number":222,"context_line":"        self.assertEqual(len(mock_obj.mock_calls), len(expected))"},{"line_number":223,"context_line":"        self.execute_expected \u003d [mock.call([\u0027/sbin/udevadm\u0027, \u0027settle\u0027,"},{"line_number":224,"context_line":"                                            \u0027--timeout\u003d10\u0027])]"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    def _verify_mock_calls(self):"},{"line_number":227,"context_line":"        self._verify_mock_call(self.mock_bridge, self.mock_bridge_expected)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2BkyU%3D","line":224,"in_reply_to":"AAAATn%2F%2Bk%2Bc%3D","updated":"2013-11-22 22:24:28.000000000","message":"confirmed.","commit_id":"7b7e09314560e4058bd4ccddc6c34b29d51a6098"}]}
