)]}'
{"quantum/plugins/ryu/agent/ryu_quantum_agent.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":256,"context_line":""},{"line_number":257,"context_line":"        while True:"},{"line_number":258,"context_line":"            try:"},{"line_number":259,"context_line":"                start \u003d time.time()"},{"line_number":260,"context_line":"                port_info \u003d self._update_ports(ports)"},{"line_number":261,"context_line":"                if port_info:"},{"line_number":262,"context_line":"                    LOG.debug(_(\"Agent loop has new device\"))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B2mc%3D","line":259,"updated":"2013-02-16 23:48:01.000000000","message":"Why is this line inside try clause?","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"f439db2a9ec700dedae22ffaeb78c987d4f0b894","unresolved":false,"context_lines":[{"line_number":256,"context_line":""},{"line_number":257,"context_line":"        while True:"},{"line_number":258,"context_line":"            try:"},{"line_number":259,"context_line":"                start \u003d time.time()"},{"line_number":260,"context_line":"                port_info \u003d self._update_ports(ports)"},{"line_number":261,"context_line":"                if port_info:"},{"line_number":262,"context_line":"                    LOG.debug(_(\"Agent loop has new device\"))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B1aY%3D","line":259,"in_reply_to":"AAAAM3%2F%2B2mc%3D","updated":"2013-02-18 07:09:28.000000000","message":"Done","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":267,"context_line":""},{"line_number":268,"context_line":"            elapsed \u003d (time.time() - start)"},{"line_number":269,"context_line":"            if (elapsed \u003c self.polling_interval):"},{"line_number":270,"context_line":"                time.sleep(self.polling_interval - elapsed)"},{"line_number":271,"context_line":"            else:"},{"line_number":272,"context_line":"                LOG.debug(_(\"Loop iteration exceeded interval \""},{"line_number":273,"context_line":"                            \"(%(polling_interval)s vs. %(elapsed)s)!\"),"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B2qo%3D","line":270,"updated":"2013-02-16 22:51:01.000000000","message":"just to be safe you need to ensure that the value \u003c0\n\ntime.sleep(max(self.polling_interval - elapsed, 0))","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":267,"context_line":""},{"line_number":268,"context_line":"            elapsed \u003d (time.time() - start)"},{"line_number":269,"context_line":"            if (elapsed \u003c self.polling_interval):"},{"line_number":270,"context_line":"                time.sleep(self.polling_interval - elapsed)"},{"line_number":271,"context_line":"            else:"},{"line_number":272,"context_line":"                LOG.debug(_(\"Loop iteration exceeded interval \""},{"line_number":273,"context_line":"                            \"(%(polling_interval)s vs. %(elapsed)s)!\"),"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2Byq8%3D","line":270,"in_reply_to":"AAAAM3%2F%2B1YM%3D","updated":"2013-02-19 04:56:15.000000000","message":"You are correct.  I think I accidentally skipped over L269 when reviewing.","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"f439db2a9ec700dedae22ffaeb78c987d4f0b894","unresolved":false,"context_lines":[{"line_number":267,"context_line":""},{"line_number":268,"context_line":"            elapsed \u003d (time.time() - start)"},{"line_number":269,"context_line":"            if (elapsed \u003c self.polling_interval):"},{"line_number":270,"context_line":"                time.sleep(self.polling_interval - elapsed)"},{"line_number":271,"context_line":"            else:"},{"line_number":272,"context_line":"                LOG.debug(_(\"Loop iteration exceeded interval \""},{"line_number":273,"context_line":"                            \"(%(polling_interval)s vs. %(elapsed)s)!\"),"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B1YM%3D","line":270,"in_reply_to":"AAAAM3%2F%2B2qo%3D","updated":"2013-02-18 07:09:28.000000000","message":"L269: It is guaranteed to have \"polling_interval\" greater than \"elapsed\", so the value will be positive except a wraparound.\nL268: When system clock is rewound before \"start\", \"elapsed\" becomes the negative value. It may cause a wraparound.\nI ensured \"elapsed\" will be positive to avoid a wraparound.","commit_id":"61e05790293df035336f70a112efb738eb7738ab"}],"quantum/plugins/ryu/common/config.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":43,"context_line":"    cfg.IntOpt(\u0027polling_interval\u0027, default\u003d2,"},{"line_number":44,"context_line":"               help\u003d_(\"The number of seconds the agent will wait between \""},{"line_number":45,"context_line":"                      \"polling for local device changes.\")),"},{"line_number":46,"context_line":"]"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"cfg.CONF.register_opts(ovs_opts, \"OVS\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B2nA%3D","line":46,"updated":"2013-02-16 23:48:01.000000000","message":"Needs to add polling_interval needs to ryu.ini","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"f439db2a9ec700dedae22ffaeb78c987d4f0b894","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    cfg.IntOpt(\u0027polling_interval\u0027, default\u003d2,"},{"line_number":44,"context_line":"               help\u003d_(\"The number of seconds the agent will wait between \""},{"line_number":45,"context_line":"                      \"polling for local device changes.\")),"},{"line_number":46,"context_line":"]"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"cfg.CONF.register_opts(ovs_opts, \"OVS\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B1T4%3D","line":46,"in_reply_to":"AAAAM3%2F%2B2nA%3D","updated":"2013-02-18 07:09:28.000000000","message":"Done.\nAlso added root_helper to the agent section.","commit_id":"61e05790293df035336f70a112efb738eb7738ab"}],"quantum/plugins/ryu/ryu_quantum_plugin.py":[{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"3524f176d12eec48122da40f89acbeac2ac72fa1","unresolved":false,"context_lines":[{"line_number":222,"context_line":"        self.notifier.security_groups_member_updated("},{"line_number":223,"context_line":"            context, port.get(ext_sg.SECURITYGROUPS))"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    def update_port(self, context, id, port):"},{"line_number":226,"context_line":"        deleted \u003d port[\u0027port\u0027].get(\u0027deleted\u0027, False)"},{"line_number":227,"context_line":"        session \u003d context.session"},{"line_number":228,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B3bM%3D","line":225,"updated":"2013-02-16 01:04:39.000000000","message":"looks like this is missing:     self._extend_port_dict_security_group(context, port)","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"f439db2a9ec700dedae22ffaeb78c987d4f0b894","unresolved":false,"context_lines":[{"line_number":222,"context_line":"        self.notifier.security_groups_member_updated("},{"line_number":223,"context_line":"            context, port.get(ext_sg.SECURITYGROUPS))"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    def update_port(self, context, id, port):"},{"line_number":226,"context_line":"        deleted \u003d port[\u0027port\u0027].get(\u0027deleted\u0027, False)"},{"line_number":227,"context_line":"        session \u003d context.session"},{"line_number":228,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B1ao%3D","line":225,"in_reply_to":"AAAAM3%2F%2B3bM%3D","updated":"2013-02-18 07:09:28.000000000","message":"It is called in update_security_group_on_port() at L235.","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":238,"context_line":"        need_port_update_notify |\u003d self.is_security_group_member_updated("},{"line_number":239,"context_line":"            context, original_port, updated_port)"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        if original_port[\u0027admin_state_up\u0027] !\u003d updated_port[\u0027admin_state_up\u0027]:"},{"line_number":242,"context_line":"            need_port_update_notify \u003d True"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"        if need_port_update_notify:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B2qg%3D","line":241,"updated":"2013-02-16 22:51:01.000000000","message":"need_port_update_notify |\u003d (original_port[\u0027admin_state_up\u0027] !\u003d updated_port[\u0027admin_state_up\u0027])","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"f439db2a9ec700dedae22ffaeb78c987d4f0b894","unresolved":false,"context_lines":[{"line_number":238,"context_line":"        need_port_update_notify |\u003d self.is_security_group_member_updated("},{"line_number":239,"context_line":"            context, original_port, updated_port)"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        if original_port[\u0027admin_state_up\u0027] !\u003d updated_port[\u0027admin_state_up\u0027]:"},{"line_number":242,"context_line":"            need_port_update_notify \u003d True"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"        if need_port_update_notify:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B1ak%3D","line":241,"in_reply_to":"AAAAM3%2F%2B2qg%3D","updated":"2013-02-18 07:09:28.000000000","message":"Done","commit_id":"61e05790293df035336f70a112efb738eb7738ab"}],"quantum/tests/unit/ryu/test_ryu_agent.py":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":133,"context_line":"                               return_value\u003d1) as get_vif:"},{"line_number":134,"context_line":"            self.mock_port_update(port\u003dport)"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        get_vif.assert_calls(["},{"line_number":137,"context_line":"            mock.call(1)"},{"line_number":138,"context_line":"        ])"},{"line_number":139,"context_line":"        self.sg_agent.assert_calls(["}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B2qU%3D","line":136,"updated":"2013-02-16 22:51:01.000000000","message":"get_vif.assert_called_once_with(1)","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"f439db2a9ec700dedae22ffaeb78c987d4f0b894","unresolved":false,"context_lines":[{"line_number":133,"context_line":"                               return_value\u003d1) as get_vif:"},{"line_number":134,"context_line":"            self.mock_port_update(port\u003dport)"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        get_vif.assert_calls(["},{"line_number":137,"context_line":"            mock.call(1)"},{"line_number":138,"context_line":"        ])"},{"line_number":139,"context_line":"        self.sg_agent.assert_calls(["}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B1Xc%3D","line":136,"in_reply_to":"AAAAM3%2F%2B2qU%3D","updated":"2013-02-18 07:09:28.000000000","message":"Done","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":148,"context_line":"                               return_value\u003d0) as get_vif:"},{"line_number":149,"context_line":"            self.mock_port_update(port\u003dport)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        get_vif.assert_calls(["},{"line_number":152,"context_line":"            mock.call(1)"},{"line_number":153,"context_line":"        ])"},{"line_number":154,"context_line":"        self.assertEquals("}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B2qQ%3D","line":151,"updated":"2013-02-16 22:51:01.000000000","message":"get_vif.assert_called_once_with(1)","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"f439db2a9ec700dedae22ffaeb78c987d4f0b894","unresolved":false,"context_lines":[{"line_number":148,"context_line":"                               return_value\u003d0) as get_vif:"},{"line_number":149,"context_line":"            self.mock_port_update(port\u003dport)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        get_vif.assert_calls(["},{"line_number":152,"context_line":"            mock.call(1)"},{"line_number":153,"context_line":"        ])"},{"line_number":154,"context_line":"        self.assertEquals("}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B1XY%3D","line":151,"in_reply_to":"AAAAM3%2F%2B2qQ%3D","updated":"2013-02-18 07:09:28.000000000","message":"Done","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":151,"context_line":"        get_vif.assert_calls(["},{"line_number":152,"context_line":"            mock.call(1)"},{"line_number":153,"context_line":"        ])"},{"line_number":154,"context_line":"        self.assertEquals("},{"line_number":155,"context_line":"            self.sg_agent.return_value.refresh_firewall.call_count, 0)"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    def test_port_update_without_secgroup(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B2qA%3D","line":154,"updated":"2013-02-16 22:51:01.000000000","message":"self.assertFalse(self.sg_agent.return_value.refresh_firewall.called)","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"f439db2a9ec700dedae22ffaeb78c987d4f0b894","unresolved":false,"context_lines":[{"line_number":151,"context_line":"        get_vif.assert_calls(["},{"line_number":152,"context_line":"            mock.call(1)"},{"line_number":153,"context_line":"        ])"},{"line_number":154,"context_line":"        self.assertEquals("},{"line_number":155,"context_line":"            self.sg_agent.return_value.refresh_firewall.call_count, 0)"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    def test_port_update_without_secgroup(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B1XU%3D","line":154,"in_reply_to":"AAAAM3%2F%2B2qA%3D","updated":"2013-02-18 07:09:28.000000000","message":"Done","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":162,"context_line":"                               return_value\u003d1) as get_vif:"},{"line_number":163,"context_line":"            self.mock_port_update(port\u003dport)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        get_vif.assert_calls(["},{"line_number":166,"context_line":"            mock.call(1)"},{"line_number":167,"context_line":"        ])"},{"line_number":168,"context_line":"        self.assertEquals("}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B2qM%3D","line":165,"updated":"2013-02-16 22:51:01.000000000","message":"get_vif.assert_called_once_with(1)","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"f439db2a9ec700dedae22ffaeb78c987d4f0b894","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                               return_value\u003d1) as get_vif:"},{"line_number":163,"context_line":"            self.mock_port_update(port\u003dport)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        get_vif.assert_calls(["},{"line_number":166,"context_line":"            mock.call(1)"},{"line_number":167,"context_line":"        ])"},{"line_number":168,"context_line":"        self.assertEquals("}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B1XQ%3D","line":165,"in_reply_to":"AAAAM3%2F%2B2qM%3D","updated":"2013-02-18 07:09:28.000000000","message":"Done","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":165,"context_line":"        get_vif.assert_calls(["},{"line_number":166,"context_line":"            mock.call(1)"},{"line_number":167,"context_line":"        ])"},{"line_number":168,"context_line":"        self.assertEquals("},{"line_number":169,"context_line":"            self.sg_agent.return_value.refresh_firewall.call_count, 0)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def mock_update_ports(self, vif_port_set\u003dNone, registered_ports\u003dNone):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B2qE%3D","line":168,"updated":"2013-02-16 22:51:01.000000000","message":"self.assertFalse(self.sg_agent.return_value.refresh_firewall.called)","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"f439db2a9ec700dedae22ffaeb78c987d4f0b894","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        get_vif.assert_calls(["},{"line_number":166,"context_line":"            mock.call(1)"},{"line_number":167,"context_line":"        ])"},{"line_number":168,"context_line":"        self.assertEquals("},{"line_number":169,"context_line":"            self.sg_agent.return_value.refresh_firewall.call_count, 0)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def mock_update_ports(self, vif_port_set\u003dNone, registered_ports\u003dNone):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B1XM%3D","line":168,"in_reply_to":"AAAAM3%2F%2B2qE%3D","updated":"2013-02-18 07:09:28.000000000","message":"Done","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        actual \u003d self.mock_update_ports(vif_port_set, registered_ports)"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"        self.assertEquals(expected, actual)"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    def mock_process_devices_filter(self, port_info):"},{"line_number":193,"context_line":"        agent \u003d self.mock_rest_addr(\u0027192.168.0.1:8080\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B2qI%3D","line":190,"updated":"2013-02-16 22:51:01.000000000","message":"self.assertEqual()","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"f439db2a9ec700dedae22ffaeb78c987d4f0b894","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        actual \u003d self.mock_update_ports(vif_port_set, registered_ports)"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"        self.assertEquals(expected, actual)"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    def mock_process_devices_filter(self, port_info):"},{"line_number":193,"context_line":"        agent \u003d self.mock_rest_addr(\u0027192.168.0.1:8080\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B1XI%3D","line":190,"in_reply_to":"AAAAM3%2F%2B2qI%3D","updated":"2013-02-18 07:09:28.000000000","message":"Done","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":226,"context_line":""},{"line_number":227,"context_line":"        self.mock_process_devices_filter(port_info)"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"        self.assertEquals("},{"line_number":230,"context_line":"            self.sg_agent.return_value.prepare_devices_filter.call_count, 0)"},{"line_number":231,"context_line":"        self.assertEquals("},{"line_number":232,"context_line":"            self.sg_agent.return_value.remove_devices_filter.call_count, 0)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B2p8%3D","line":229,"updated":"2013-02-16 22:51:01.000000000","message":"self.assertFalse(self.sg_agent.return_value.prepare_devices_filter.called)","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"f439db2a9ec700dedae22ffaeb78c987d4f0b894","unresolved":false,"context_lines":[{"line_number":226,"context_line":""},{"line_number":227,"context_line":"        self.mock_process_devices_filter(port_info)"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"        self.assertEquals("},{"line_number":230,"context_line":"            self.sg_agent.return_value.prepare_devices_filter.call_count, 0)"},{"line_number":231,"context_line":"        self.assertEquals("},{"line_number":232,"context_line":"            self.sg_agent.return_value.remove_devices_filter.call_count, 0)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B1XE%3D","line":229,"in_reply_to":"AAAAM3%2F%2B2p8%3D","updated":"2013-02-18 07:09:28.000000000","message":"Done","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":228,"context_line":""},{"line_number":229,"context_line":"        self.assertEquals("},{"line_number":230,"context_line":"            self.sg_agent.return_value.prepare_devices_filter.call_count, 0)"},{"line_number":231,"context_line":"        self.assertEquals("},{"line_number":232,"context_line":"            self.sg_agent.return_value.remove_devices_filter.call_count, 0)"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B2p4%3D","line":231,"updated":"2013-02-16 22:51:01.000000000","message":"self.assertFalse(self.sg_agent.return_value.remove_devices_filter.called)","commit_id":"61e05790293df035336f70a112efb738eb7738ab"},{"author":{"_account_id":4726,"name":"Yoshihiro Kaneko","email":"ykaneko0929@gmail.com","username":"ykaneko0929"},"change_message_id":"f439db2a9ec700dedae22ffaeb78c987d4f0b894","unresolved":false,"context_lines":[{"line_number":228,"context_line":""},{"line_number":229,"context_line":"        self.assertEquals("},{"line_number":230,"context_line":"            self.sg_agent.return_value.prepare_devices_filter.call_count, 0)"},{"line_number":231,"context_line":"        self.assertEquals("},{"line_number":232,"context_line":"            self.sg_agent.return_value.remove_devices_filter.call_count, 0)"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B1XA%3D","line":231,"in_reply_to":"AAAAM3%2F%2B2p4%3D","updated":"2013-02-18 07:09:28.000000000","message":"Done","commit_id":"61e05790293df035336f70a112efb738eb7738ab"}]}
