)]}'
{"dragonflow/tests/common/app_testing_objects.py":[{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"b9af88249ab3fb900d8509712b2b2c2e0f72adff","unresolved":false,"context_lines":[{"line_number":839,"context_line":"        return port.tap"},{"line_number":840,"context_line":""},{"line_number":841,"context_line":""},{"line_number":842,"context_line":"class SimulateAndSendAction(SendAction):"},{"line_number":843,"context_line":"    def __init__(self, subnet_id, port_id, packet):"},{"line_number":844,"context_line":"        super(SimulateAndSendAction, self).__init__(subnet_id, port_id,"},{"line_number":845,"context_line":"                                                    packet)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a430d35_165779ca","line":842,"range":{"start_line":842,"start_character":6,"end_line":842,"end_character":27},"updated":"2017-02-09 03:37:12.000000000","message":"I might miss something here, where is this class used?","commit_id":"126c08fdf42aab8d509d8f24d2542f5825c1339e"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"0915494f1ddac44b6fba01398aed3efd08dc756c","unresolved":false,"context_lines":[{"line_number":839,"context_line":"        return port.tap"},{"line_number":840,"context_line":""},{"line_number":841,"context_line":""},{"line_number":842,"context_line":"class SimulateAndSendAction(SendAction):"},{"line_number":843,"context_line":"    def __init__(self, subnet_id, port_id, packet):"},{"line_number":844,"context_line":"        super(SimulateAndSendAction, self).__init__(subnet_id, port_id,"},{"line_number":845,"context_line":"                                                    packet)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a430d35_b5bccddc","line":842,"range":{"start_line":842,"start_character":6,"end_line":842,"end_character":27},"in_reply_to":"1a430d35_165779ca","updated":"2017-02-09 11:58:20.000000000","message":"It is not used in the tests inside the repository, but I happened to find it very useful when writing new fullstack tests.\n\nWhat it does is print the ofproto/trace result on the packet before it is actually sent. This patch add re-running on recirculation we we can trace beyond ct() actions.","commit_id":"126c08fdf42aab8d509d8f24d2542f5825c1339e"},{"author":{"_account_id":23235,"name":"Lihi Wishnitzer","email":"lihiwish@gmail.com","username":"lihiwish"},"change_message_id":"22957ae10791d302aebd40ce8057278618affdfe","unresolved":false,"context_lines":[{"line_number":884,"context_line":"                packet_str,"},{"line_number":885,"context_line":"            ]"},{"line_number":886,"context_line":""},{"line_number":887,"context_line":"            appctl_output \u003d utils.execute("},{"line_number":888,"context_line":"                args,"},{"line_number":889,"context_line":"                run_as_root\u003dTrue,"},{"line_number":890,"context_line":"                process_input\u003dNone,"},{"line_number":891,"context_line":"            )"},{"line_number":892,"context_line":""},{"line_number":893,"context_line":"            print(appctl_output)"},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"            dp_actions \u003d re.findall("},{"line_number":896,"context_line":"                r\u0027^\\s*Datapath actions:\\s*(.*)$\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a430d35_eddfd766","line":893,"range":{"start_line":887,"start_character":12,"end_line":893,"end_character":32},"updated":"2017-02-07 12:15:19.000000000","message":"Why not keep the call for \"test_utils.print_command\"?","commit_id":"126c08fdf42aab8d509d8f24d2542f5825c1339e"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"0915494f1ddac44b6fba01398aed3efd08dc756c","unresolved":false,"context_lines":[{"line_number":884,"context_line":"                packet_str,"},{"line_number":885,"context_line":"            ]"},{"line_number":886,"context_line":""},{"line_number":887,"context_line":"            appctl_output \u003d utils.execute("},{"line_number":888,"context_line":"                args,"},{"line_number":889,"context_line":"                run_as_root\u003dTrue,"},{"line_number":890,"context_line":"                process_input\u003dNone,"},{"line_number":891,"context_line":"            )"},{"line_number":892,"context_line":""},{"line_number":893,"context_line":"            print(appctl_output)"},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"            dp_actions \u003d re.findall("},{"line_number":896,"context_line":"                r\u0027^\\s*Datapath actions:\\s*(.*)$\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a430d35_f5f1f501","line":893,"range":{"start_line":887,"start_character":12,"end_line":893,"end_character":32},"in_reply_to":"1a430d35_eddfd766","updated":"2017-02-09 11:58:20.000000000","message":"I wanted to capture the output, print_command only prints it.","commit_id":"126c08fdf42aab8d509d8f24d2542f5825c1339e"}]}
