)]}'
{"tempest/api/compute/images/test_images.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"585c4567bc539f4a3953b3ba5a9d929ae74a4489","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":52,"context_line":"    def test_create_server_from_saved_image(self):"},{"line_number":53,"context_line":"        snapshot_name \u003d data_utils.rand_name(\u0027test-snap-\u0027)"},{"line_number":54,"context_line":"        resp, server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":55,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":56,"context_line":"        # create snapshot image"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_a765f8e3","line":53,"updated":"2014-09-16 14:21:26.000000000","message":"Useless trailing \u0027-\u0027. See the implementation of the \u0027rand_name\u0027 function.","commit_id":"d7ed63b13743399335addcd01663960babf705b0"},{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"8fb7c892212a9a2e0fef063e579d729867797a4d","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":52,"context_line":"    def test_create_server_from_saved_image(self):"},{"line_number":53,"context_line":"        snapshot_name \u003d data_utils.rand_name(\u0027test-snap-\u0027)"},{"line_number":54,"context_line":"        resp, server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":55,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":56,"context_line":"        # create snapshot image"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_433519a7","line":53,"in_reply_to":"fa98f980_a765f8e3","updated":"2014-09-16 17:17:00.000000000","message":"thanks , will fix it","commit_id":"d7ed63b13743399335addcd01663960babf705b0"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"585c4567bc539f4a3953b3ba5a9d929ae74a4489","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        # delete snapshot image after server is active"},{"line_number":65,"context_line":"        resp, body \u003d self.client.delete_image(image[\u0027id\u0027])"},{"line_number":66,"context_line":"        self.assertEqual(\u0027204\u0027, resp[\u0027status\u0027])"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"class ImagesTestXML(ImagesTestJSON):"},{"line_number":70,"context_line":"    _interface \u003d \u0027xml\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_e7c5405d","line":67,"updated":"2014-09-16 14:21:26.000000000","message":"Status code check is now done at the client\u0027s side (see services/image/v2/json/image_client.py). So this line is redundant.","commit_id":"d7ed63b13743399335addcd01663960babf705b0"},{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"8fb7c892212a9a2e0fef063e579d729867797a4d","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        # delete snapshot image after server is active"},{"line_number":65,"context_line":"        resp, body \u003d self.client.delete_image(image[\u0027id\u0027])"},{"line_number":66,"context_line":"        self.assertEqual(\u0027204\u0027, resp[\u0027status\u0027])"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"class ImagesTestXML(ImagesTestJSON):"},{"line_number":70,"context_line":"    _interface \u003d \u0027xml\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_a344051c","line":67,"in_reply_to":"fa98f980_e7c5405d","updated":"2014-09-16 17:17:00.000000000","message":"Thanks , \nWill check client code , thanks for your time .","commit_id":"d7ed63b13743399335addcd01663960babf705b0"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"bcfd831f0bb14154a4e65b1b673bb2415143dd28","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":52,"context_line":"    def test_create_server_from_saved_image(self):"},{"line_number":53,"context_line":"        snapshot_name \u003d data_utils.rand_name(\u0027test-snap\u0027)"},{"line_number":54,"context_line":"        resp, server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":55,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":56,"context_line":"        # create snapshot image"}],"source_content_type":"text/x-python","patch_set":5,"id":"da9df570_3104f014","line":53,"updated":"2014-09-23 21:03:52.000000000","message":"This tests verifies nova\u0027s server API to create spawn a server, when passing the image id of a private image.\n\nIt also verifies that it is possible to delete the private image even if the server is still running.\n\nSo if the main objective is the latter, it\u0027s fine to have this test here, else I\u0027d prefer to see it in compute/servers/test_create_server.py.\n\nPerhaps a comment / doc on the test would be good","commit_id":"705a33a90b845ff019cff51cf69c158581523fb3"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"bcfd831f0bb14154a4e65b1b673bb2415143dd28","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        resp, server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":55,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":56,"context_line":"        # create snapshot image"},{"line_number":57,"context_line":"        resp, image \u003d self.create_image_from_server(server[\u0027id\u0027],"},{"line_number":58,"context_line":"                                                    name\u003dsnapshot_name,"},{"line_number":59,"context_line":"                                                    wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":60,"context_line":"        # boot server from saved image"}],"source_content_type":"text/x-python","patch_set":5,"id":"da9df570_6b246faf","line":57,"updated":"2014-09-23 21:03:52.000000000","message":"_, image","commit_id":"705a33a90b845ff019cff51cf69c158581523fb3"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"bcfd831f0bb14154a4e65b1b673bb2415143dd28","unresolved":false,"context_lines":[{"line_number":58,"context_line":"                                                    name\u003dsnapshot_name,"},{"line_number":59,"context_line":"                                                    wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":60,"context_line":"        # boot server from saved image"},{"line_number":61,"context_line":"        resp, server \u003d self.create_test_server(image_id\u003dimage[\u0027id\u0027],"},{"line_number":62,"context_line":"                                               wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":63,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":64,"context_line":"        # delete snapshot image after server is active"}],"source_content_type":"text/x-python","patch_set":5,"id":"da9df570_8b3a73cb","line":61,"updated":"2014-09-23 21:03:52.000000000","message":"_, server","commit_id":"705a33a90b845ff019cff51cf69c158581523fb3"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"bcfd831f0bb14154a4e65b1b673bb2415143dd28","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        # boot server from saved image"},{"line_number":61,"context_line":"        resp, server \u003d self.create_test_server(image_id\u003dimage[\u0027id\u0027],"},{"line_number":62,"context_line":"                                               wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":63,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":64,"context_line":"        # delete snapshot image after server is active"},{"line_number":65,"context_line":"        self.client.delete_image(image[\u0027id\u0027])"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"da9df570_8bdd1373","line":63,"updated":"2014-09-23 21:03:52.000000000","message":"You may want to add a second cleanup with the wait for delete method to ensure the server is actually deleted at the end.","commit_id":"705a33a90b845ff019cff51cf69c158581523fb3"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"bcfd831f0bb14154a4e65b1b673bb2415143dd28","unresolved":false,"context_lines":[{"line_number":62,"context_line":"                                               wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":63,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":64,"context_line":"        # delete snapshot image after server is active"},{"line_number":65,"context_line":"        self.client.delete_image(image[\u0027id\u0027])"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"class ImagesTestXML(ImagesTestJSON):"}],"source_content_type":"text/x-python","patch_set":5,"id":"da9df570_2bed0726","line":65,"updated":"2014-09-23 21:03:52.000000000","message":"If this is just a cleanup, you should handle it via an addCleanup. If it\u0027s actually what you\u0027re testing, could you please verify that the image is in fact deleted? e.g. wait until deletion.","commit_id":"705a33a90b845ff019cff51cf69c158581523fb3"},{"author":{"_account_id":10090,"name":"Amit Ugol","email":"augol@redhat.com","username":"cmyster"},"change_message_id":"e124380a7d012c96e45a03ea111748f42ed572d6","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        # verify nova manages to create instance from snapshot image"},{"line_number":55,"context_line":"        # and to delete the instance."},{"line_number":56,"context_line":"        snapshot_name \u003d data_utils.rand_name(\u0027test-snap\u0027)"},{"line_number":57,"context_line":"        resp, server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":58,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":59,"context_line":"        # create snapshot image"},{"line_number":60,"context_line":"        _, image \u003d self.create_image_from_server(server[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"baa201ad_48af6a7d","line":57,"updated":"2014-10-06 08:48:56.000000000","message":"why is there a need for resp here?","commit_id":"b97bc8d163d94ebb273d3b748eb69018671816a5"},{"author":{"_account_id":10090,"name":"Amit Ugol","email":"augol@redhat.com","username":"cmyster"},"change_message_id":"5d6af9d7282ef1667221af8af55cd697086cbf68","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":52,"context_line":"    def test_create_server_from_saved_image(self):"},{"line_number":53,"context_line":"        # This test creates snapshot image from instance"},{"line_number":54,"context_line":"        # verify nova manages to create instance from snapshot image"},{"line_number":55,"context_line":"        # and to delete the instance."},{"line_number":56,"context_line":"        snapshot_name \u003d data_utils.rand_name(\u0027test-snap\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"baa201ad_d34982b8","line":53,"updated":"2014-10-14 04:54:03.000000000","message":"please consider some spell checking here","commit_id":"ff27326621431c894420590f0ce5202cda0fdafa"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"3e4eaf1604141d71b5636a9ff7acc618b00b9664","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        self.assertEqual(\u0027204\u0027, resp[\u0027status\u0027])"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":52,"context_line":"    def test_create_server_from_saved_image(self):"},{"line_number":53,"context_line":"        # This test creates a snapshot image from an instance"},{"line_number":54,"context_line":"        # verifies that an instance was created from the snapshot image"},{"line_number":55,"context_line":"        # and the instance can be deleted."}],"source_content_type":"text/x-python","patch_set":9,"id":"9aa7fdbe_ca81194c","line":52,"updated":"2014-10-20 09:09:06.000000000","message":"docstring should be \"\"\"","commit_id":"fe4deda9e14df5e52d068468e790031596e3cc21"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"53b7a959e09d19d32d46186ba254e9b01197c783","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        # This test creates a snapshot image from an instance"},{"line_number":54,"context_line":"        # verifies that an instance was created from the snapshot image"},{"line_number":55,"context_line":"        # and the instance can be deleted."},{"line_number":56,"context_line":"        snapshot_name \u003d data_utils.rand_name(\u0027test-snap\u0027)"},{"line_number":57,"context_line":"        _, server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":58,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":59,"context_line":"        # create snapshot image"}],"source_content_type":"text/x-python","patch_set":9,"id":"9aa7fdbe_d1e26500","line":56,"updated":"2014-10-22 09:12:41.000000000","message":"It would be good if we use \"test-snap-\" instead of \"test-snap\".","commit_id":"fe4deda9e14df5e52d068468e790031596e3cc21"},{"author":{"_account_id":8158,"name":"Hemanth Makkapati","email":"makstacker+osgerrit@gmail.com","username":"hemanth.makkapati"},"change_message_id":"3c19dca92ffe1a7af0ec6a182ea47a874982bc1d","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":69,"context_line":"        # delete snapshot image after server is active"},{"line_number":70,"context_line":"        self.client.delete_image(image[\u0027id\u0027])"},{"line_number":71,"context_line":"        self.client.wait_for_resource_deletion(image[\u0027id\u0027])"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"class ImagesTestXML(ImagesTestJSON):"}],"source_content_type":"text/x-python","patch_set":10,"id":"9aa7fdbe_94705d0c","line":71,"updated":"2014-10-27 13:28:00.000000000","message":"Does image deletion have to be a part of this test? Can it be added to clean up instead?\nI haven\u0027t reviewed much temptest code before, so feel free to correct me :)","commit_id":"78df0c15eb511721c5c35f4e9992c939675cc545"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"eab5a584a9407df7be663085a41ff33e7de138e3","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":69,"context_line":"        # delete snapshot image after server is active"},{"line_number":70,"context_line":"        self.client.delete_image(image[\u0027id\u0027])"},{"line_number":71,"context_line":"        self.client.wait_for_resource_deletion(image[\u0027id\u0027])"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"class ImagesTestXML(ImagesTestJSON):"}],"source_content_type":"text/x-python","patch_set":10,"id":"9aa7fdbe_a385205b","line":71,"in_reply_to":"9aa7fdbe_94705d0c","updated":"2014-10-27 17:42:46.000000000","message":"Yeah, you don\u0027t have to block here.\n\nSomething like : \nself.addCleanup(self.client.delete_image, image[\u0027id\u0027]) right after line 64 should work.","commit_id":"78df0c15eb511721c5c35f4e9992c939675cc545"},{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"56161bddeef3619f181e1dbcfc9bf00a9e38aa97","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":69,"context_line":"        # delete snapshot image after server is active"},{"line_number":70,"context_line":"        self.client.delete_image(image[\u0027id\u0027])"},{"line_number":71,"context_line":"        self.client.wait_for_resource_deletion(image[\u0027id\u0027])"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"class ImagesTestXML(ImagesTestJSON):"}],"source_content_type":"text/x-python","patch_set":10,"id":"9aa7fdbe_3d875214","line":71,"in_reply_to":"9aa7fdbe_a385205b","updated":"2014-10-29 12:29:13.000000000","message":"Ok , i will change it .\nThanks, \nBenny","commit_id":"78df0c15eb511721c5c35f4e9992c939675cc545"},{"author":{"_account_id":7227,"name":"Timur Nurlygayanov","email":"tnurlygayanov@mirantis.com","username":"tnurlygayanov"},"change_message_id":"e6e72313bb65055688e62ff4956fd647ffca8bf0","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    def test_create_server_from_saved_image(self):"},{"line_number":53,"context_line":"        \"\"\""},{"line_number":54,"context_line":"        This test creates a snapshot image from an instance"},{"line_number":55,"context_line":"        verifies that an instance was created from the snapshot image"},{"line_number":56,"context_line":"        \"\"\""},{"line_number":57,"context_line":"        snapshot_name \u003d data_utils.rand_name(\u0027test-snap\u0027)"},{"line_number":58,"context_line":"        _, server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_f07328e5","line":55,"updated":"2014-11-10 15:23:36.000000000","message":"Could you please fix docstring?\n\nExample:\n\n\"\"\"This test creates a snapshot image from an instance\n\nverifies that an instance was created from the snapshot image.\n\n\"\"\"\n\nMore info about docstrings:\nhttp://docs.openstack.org/developer/hacking/#docstrings","commit_id":"e5152a0d0924c013a3a3689860410f3ba12789ba"},{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"0865a7c23bf6843eb7b429519d64eb93a4c60f51","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    def test_create_server_from_saved_image(self):"},{"line_number":53,"context_line":"        \"\"\""},{"line_number":54,"context_line":"        This test creates a snapshot image from an instance"},{"line_number":55,"context_line":"        verifies that an instance was created from the snapshot image"},{"line_number":56,"context_line":"        \"\"\""},{"line_number":57,"context_line":"        snapshot_name \u003d data_utils.rand_name(\u0027test-snap\u0027)"},{"line_number":58,"context_line":"        _, server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_93a669c0","line":55,"in_reply_to":"5a890539_f07328e5","updated":"2014-11-10 18:36:01.000000000","message":"ok","commit_id":"e5152a0d0924c013a3a3689860410f3ba12789ba"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"4c14f2f27ec691430a6f19c58a2b29e7fde00e1c","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        \"\"\""},{"line_number":57,"context_line":"        snapshot_name \u003d data_utils.rand_name(\u0027test-snap\u0027)"},{"line_number":58,"context_line":"        _, server \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":59,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":60,"context_line":"        # create snapshot image"},{"line_number":61,"context_line":"        _, image \u003d self.create_image_from_server(server[\u0027id\u0027],"},{"line_number":62,"context_line":"                                                 name\u003dsnapshot_name,"}],"source_content_type":"text/x-python","patch_set":12,"id":"5a890539_05bdb868","line":59,"updated":"2014-11-11 15:48:15.000000000","message":"addCleanup not needed because the helper method will cause it to be cleaned up at the class level.","commit_id":"96f07620b4ddb899540d4ae78c58efdceb3773d4"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"4c14f2f27ec691430a6f19c58a2b29e7fde00e1c","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        _, image \u003d self.create_image_from_server(server[\u0027id\u0027],"},{"line_number":62,"context_line":"                                                 name\u003dsnapshot_name,"},{"line_number":63,"context_line":"                                                 wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":64,"context_line":"        self.addCleanup(self.client.delete_image, image[\u0027id\u0027])"},{"line_number":65,"context_line":"        # boot server from saved image"},{"line_number":66,"context_line":"        _, server \u003d self.create_test_server(image_id\u003dimage[\u0027id\u0027],"},{"line_number":67,"context_line":"                                            wait_until\u003d\u0027ACTIVE\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"5a890539_45b7c086","line":64,"updated":"2014-11-11 15:48:15.000000000","message":"ditto","commit_id":"96f07620b4ddb899540d4ae78c58efdceb3773d4"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"4c14f2f27ec691430a6f19c58a2b29e7fde00e1c","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        # boot server from saved image"},{"line_number":66,"context_line":"        _, server \u003d self.create_test_server(image_id\u003dimage[\u0027id\u0027],"},{"line_number":67,"context_line":"                                            wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":68,"context_line":"        self.addCleanup(self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"class ImagesTestXML(ImagesTestJSON):"}],"source_content_type":"text/x-python","patch_set":12,"id":"5a890539_65bcbc6a","line":68,"updated":"2014-11-11 15:48:15.000000000","message":"ditto","commit_id":"96f07620b4ddb899540d4ae78c58efdceb3773d4"}]}
