)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0333a1002b75ac5b8e7fcf65d447f4a38477fba1","unresolved":false,"context_lines":[{"line_number":9,"context_line":"In the notification sample tests big json structures are asserted."},{"line_number":10,"context_line":"If the difference is only in the number of keys in a dict or in"},{"line_number":11,"context_line":"the number of items in a list then the current assert only states"},{"line_number":12,"context_line":"the number of items. If the list or dict is big it is quite hard to"},{"line_number":13,"context_line":"see what is the missing key or item."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This patch adds more descriptive output to the error message if the"},{"line_number":16,"context_line":"json structures are not equal."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"ff346bd7_df4f36bb","line":13,"range":{"start_line":12,"start_character":21,"end_line":13,"end_character":36},"updated":"2017-07-25 14:29:16.000000000","message":"Could you include paste links in here for what this looks like before and after the change?","commit_id":"db8672db2ea942877ae159a3acdb9ac0f1f9aaaf"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7e7ae81880bde08c10c95bcf67f2d5a8c6de379f","unresolved":false,"context_lines":[{"line_number":9,"context_line":"In the notification sample tests big json structures are asserted."},{"line_number":10,"context_line":"If the difference is only in the number of keys in a dict or in"},{"line_number":11,"context_line":"the number of items in a list then the current assert only states"},{"line_number":12,"context_line":"the number of items. If the list or dict is big it is quite hard to"},{"line_number":13,"context_line":"see what is the missing key or item."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This patch adds more descriptive output to the error message if the"},{"line_number":16,"context_line":"json structures are not equal."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"ff346bd7_ced1a9cf","line":13,"range":{"start_line":12,"start_character":21,"end_line":13,"end_character":36},"in_reply_to":"ff346bd7_df4f36bb","updated":"2017-07-26 08:25:20.000000000","message":"Done","commit_id":"db8672db2ea942877ae159a3acdb9ac0f1f9aaaf"}],"nova/test.py":[{"author":{"_account_id":7764,"name":"Peter Hamilton","email":"peter.hamilton@jhuapl.edu","username":"Peter"},"change_message_id":"a33eb572070d92163dbf6c63de47ab33e4bfd68d","unresolved":false,"context_lines":[{"line_number":401,"context_line":"                    (path,"},{"line_number":402,"context_line":"                     sorted(expected.keys()),"},{"line_number":403,"context_line":"                     sorted(observed.keys()),"},{"line_number":404,"context_line":"                     set(expected.keys()).symmetric_difference("},{"line_number":405,"context_line":"                         set(observed.keys()))))"},{"line_number":406,"context_line":"                expected_keys \u003d sorted(expected)"},{"line_number":407,"context_line":"                observed_keys \u003d sorted(observed)"},{"line_number":408,"context_line":"                self.assertEqual("}],"source_content_type":"text/x-python","patch_set":7,"id":"ba2be162_4fe9c87f","line":405,"range":{"start_line":404,"start_character":21,"end_line":405,"end_character":46},"updated":"2017-03-02 16:05:33.000000000","message":"This will currently produce:\n\n\u0027difference\u003dset([...])\u0027\n\nYou may want to wrap the whole thing with list() to just get:\n\n\u0027difference\u003d[...]\u0027","commit_id":"be37a812365260fb25c8f90cb89e0c44ad793add"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"79b045b2f01657c628736329b6d173484ecd7422","unresolved":false,"context_lines":[{"line_number":401,"context_line":"                    (path,"},{"line_number":402,"context_line":"                     sorted(expected.keys()),"},{"line_number":403,"context_line":"                     sorted(observed.keys()),"},{"line_number":404,"context_line":"                     set(expected.keys()).symmetric_difference("},{"line_number":405,"context_line":"                         set(observed.keys()))))"},{"line_number":406,"context_line":"                expected_keys \u003d sorted(expected)"},{"line_number":407,"context_line":"                observed_keys \u003d sorted(observed)"},{"line_number":408,"context_line":"                self.assertEqual("}],"source_content_type":"text/x-python","patch_set":7,"id":"ba2be162_091a3b7d","line":405,"range":{"start_line":404,"start_character":21,"end_line":405,"end_character":46},"in_reply_to":"ba2be162_4fe9c87f","updated":"2017-03-03 14:58:21.000000000","message":"good point. Done.","commit_id":"be37a812365260fb25c8f90cb89e0c44ad793add"}],"nova/tests/unit/test_test.py":[{"author":{"_account_id":7764,"name":"Peter Hamilton","email":"peter.hamilton@jhuapl.edu","username":"Peter"},"change_message_id":"a33eb572070d92163dbf6c63de47ab33e4bfd68d","unresolved":false,"context_lines":[{"line_number":143,"context_line":"                (\"3 !\u003d 2: path: root.top.l1.l2. Different dict key sets\\n\""},{"line_number":144,"context_line":"                 \"expected\u003d[\u0027a\u0027, \u0027b\u0027, \u0027c\u0027]\\n\""},{"line_number":145,"context_line":"                 \"observed\u003d[\u0027a\u0027, \u0027b\u0027]\\n\""},{"line_number":146,"context_line":"                 \"difference\u003d%s\" % {\u0027c\u0027}),"},{"line_number":147,"context_line":"                e.difference)"},{"line_number":148,"context_line":"        else:"},{"line_number":149,"context_line":"            self.fail(\"This should have raised a mismatch exception\")"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba2be162_afac0436","line":146,"range":{"start_line":146,"start_character":29,"end_line":146,"end_character":31},"updated":"2017-03-02 16:05:33.000000000","message":"Is this missing square brackets, to match the above change?","commit_id":"be37a812365260fb25c8f90cb89e0c44ad793add"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"79b045b2f01657c628736329b6d173484ecd7422","unresolved":false,"context_lines":[{"line_number":143,"context_line":"                (\"3 !\u003d 2: path: root.top.l1.l2. Different dict key sets\\n\""},{"line_number":144,"context_line":"                 \"expected\u003d[\u0027a\u0027, \u0027b\u0027, \u0027c\u0027]\\n\""},{"line_number":145,"context_line":"                 \"observed\u003d[\u0027a\u0027, \u0027b\u0027]\\n\""},{"line_number":146,"context_line":"                 \"difference\u003d%s\" % {\u0027c\u0027}),"},{"line_number":147,"context_line":"                e.difference)"},{"line_number":148,"context_line":"        else:"},{"line_number":149,"context_line":"            self.fail(\"This should have raised a mismatch exception\")"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba2be162_cce59138","line":146,"range":{"start_line":146,"start_character":29,"end_line":146,"end_character":31},"in_reply_to":"ba2be162_afac0436","updated":"2017-03-03 14:58:21.000000000","message":"%s was replaced with the set so it looked like difference\u003dset([\u0027c\u0027]) in python2 and difference\u003d{\u0027c\u0027} in python3 to match what the assertJsonEqual improvement produce.\n\nAnyhow I followed your suggest to wrap the original printout in a list so this trick simply goes away.","commit_id":"be37a812365260fb25c8f90cb89e0c44ad793add"}]}
