)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"59b69d41c76b81c0201be4dc85a52fd33dad2499","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"test_backend_sql was failing on python34 with two different errors."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"1. Python string used to be unicode in python2, in python3 we need"},{"line_number":12,"context_line":"encode unicode string into byte before hashing."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"..."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3a29b11f_7555901b","line":11,"updated":"2015-10-19 04:00:33.000000000","message":"i\u0027m not seeing a change for this","commit_id":"237a1c53c01033883ceb67bab19513c9d915daa8"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"76111ff65dcaabe70c53005788f0e85eaf418094","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"test_backend_sql was failing on python34 with two different errors."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"1. Python string used to be unicode in python2, in python3 we need"},{"line_number":12,"context_line":"encode unicode string into byte before hashing."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"..."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3a29b11f_fbf751f3","line":11,"in_reply_to":"3a29b11f_7555901b","updated":"2015-10-19 05:22:54.000000000","message":"i think you must miss it in the patch, pls see one change here: L4772@https://review.openstack.org/#/c/205352/6/keystone/tests/unit/test_backend.py","commit_id":"237a1c53c01033883ceb67bab19513c9d915daa8"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"59b69d41c76b81c0201be4dc85a52fd33dad2499","unresolved":false,"context_lines":[{"line_number":23,"context_line":"  line 871, in test_non_ascii_init"},{"line_number":24,"context_line":"    self.assertRaises(UnicodeDecodeError, FakeTable, col\u003d\u0027Я\u0027)"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"3. Update the name of some generic methods since nose will capture the"},{"line_number":27,"context_line":"keyword \u0027test\u0027 from the method and assume it is a testcase if there is."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"bp python3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3a29b11f_f548c089","line":26,"updated":"2015-10-19 04:00:33.000000000","message":"remove this since you removed nose","commit_id":"237a1c53c01033883ceb67bab19513c9d915daa8"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"76111ff65dcaabe70c53005788f0e85eaf418094","unresolved":false,"context_lines":[{"line_number":23,"context_line":"  line 871, in test_non_ascii_init"},{"line_number":24,"context_line":"    self.assertRaises(UnicodeDecodeError, FakeTable, col\u003d\u0027Я\u0027)"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"3. Update the name of some generic methods since nose will capture the"},{"line_number":27,"context_line":"keyword \u0027test\u0027 from the method and assume it is a testcase if there is."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"bp python3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3a29b11f_1bd32d3a","line":26,"in_reply_to":"3a29b11f_f548c089","updated":"2015-10-19 05:22:54.000000000","message":"I cannot remove this since you know python3 is using nose for testing, see: https://github.com/openstack/keystone/blob/master/tox.ini#L18.\n\nI am not importing nose into testing in every PS of this proposal but just want to slove the issue imported by nose.\n\nSo, we need update the name of some generic method since they have keyword \"test\" in the name of those methods. Or else, nose assume those method is testcases and try to execute it as a testcase. \n\nsee one example here: L2019@https://review.openstack.org/#/c/205352/6/keystone/tests/unit/test_backend.py","commit_id":"237a1c53c01033883ceb67bab19513c9d915daa8"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"e025205746f2df811a167791d4874fc87084a3fc","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"test_backend_sql was failing on python34 with two different errors."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"1. Python string used to be unicode in python2, in python3 we need"},{"line_number":12,"context_line":"encode unicode string into byte before hashing."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"..."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"1a26ad4f_c8003f04","line":11,"updated":"2015-10-30 01:48:51.000000000","message":"in py2 strings (str) is bytes and unicode is unicode; i like to just use the terms bytes and text when talking about this because it makes it easier to understand","commit_id":"ef795a67797c4b59e0bfd2a18f995bbf44974b88"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"b514449b35c69bfacb580a9c5b524bacf4d01d56","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"test_backend_sql was failing on python34 with two different errors."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"1. Python string used to be unicode in python2, in python3 we need"},{"line_number":12,"context_line":"encode unicode string into byte before hashing."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"..."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"1a26ad4f_33efe4b1","line":11,"in_reply_to":"1a26ad4f_c8003f04","updated":"2015-10-30 02:41:05.000000000","message":"since there is no byte type in python2, so I will only talk how to do it in python3.","commit_id":"ef795a67797c4b59e0bfd2a18f995bbf44974b88"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"e025205746f2df811a167791d4874fc87084a3fc","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    token_id_hash \u003d hash_fn(token_id).hexdigest()"},{"line_number":16,"context_line":"TypeError: Unicode-objects must be encoded before hashing"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"2. There\u0027s no UnicodeDecodeError on python34, so the test expected"},{"line_number":19,"context_line":"the `UnicodeDecodeError` exception will not happen on python3."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"..."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"1a26ad4f_c84eff6e","line":18,"updated":"2015-10-30 01:48:51.000000000","message":"This is not true. It does exist. The reason the test fails is that in py3 unicode is the default so it just works. This test fails on py2 because it is a bad test. If you make the string a unicode string like u\u0027\u0027 then it should pass. I think this test should probably be deleted since it\u0027s really testing SQL behavior and not Keystone.","commit_id":"ef795a67797c4b59e0bfd2a18f995bbf44974b88"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"b514449b35c69bfacb580a9c5b524bacf4d01d56","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    token_id_hash \u003d hash_fn(token_id).hexdigest()"},{"line_number":16,"context_line":"TypeError: Unicode-objects must be encoded before hashing"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"2. There\u0027s no UnicodeDecodeError on python34, so the test expected"},{"line_number":19,"context_line":"the `UnicodeDecodeError` exception will not happen on python3."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"..."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"1a26ad4f_d3647023","line":18,"in_reply_to":"1a26ad4f_c84eff6e","updated":"2015-10-30 02:41:05.000000000","message":"Done","commit_id":"ef795a67797c4b59e0bfd2a18f995bbf44974b88"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"456b3d8ff4fb3df6eaecef92304fdd4dd9e3fbc3","unresolved":false,"context_lines":[{"line_number":15,"context_line":"TypeError: Unicode-objects must be encoded before hashing"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"2. Delete one invalid testcase `test_non_ascii_init` since this testcase"},{"line_number":18,"context_line":"is testing SQL behavior rather than keystone, this testcase will also fail"},{"line_number":19,"context_line":"on python3."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"..."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"1a26ad4f_ae138b0c","line":18,"updated":"2015-10-30 02:57:51.000000000","message":"change SQL to SQLAlchemy","commit_id":"5f96e93d2b9518eb332dba5e9bc776fcb71f69d5"}],"keystone/tests/unit/test_backend.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"59b69d41c76b81c0201be4dc85a52fd33dad2499","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"3a29b11f_55589456","updated":"2015-10-19 04:00:33.000000000","message":"i think you can undo the changes to this file since you\u0027re not using nose?","commit_id":"237a1c53c01033883ceb67bab19513c9d915daa8"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"76111ff65dcaabe70c53005788f0e85eaf418094","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"3a29b11f_fbaf5192","in_reply_to":"3a29b11f_55589456","updated":"2015-10-19 05:22:54.000000000","message":"no, i did this change beacuse we are using nose for python3.\n\nsee: https://github.com/openstack/keystone/blob/master/tox.ini#L18","commit_id":"237a1c53c01033883ceb67bab19513c9d915daa8"}],"keystone/tests/unit/test_backend_sql.py":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"5f72a312f74a21f7bf9178e67d7b43e8444402cc","unresolved":false,"context_lines":[{"line_number":858,"context_line":"            self.assertRaises(UnicodeDecodeError, FakeTable, col\u003d\u0027Я\u0027)"},{"line_number":859,"context_line":"        else:"},{"line_number":860,"context_line":"            # There\u0027s no UnicodeDecodeError on python 3."},{"line_number":861,"context_line":"            pass"},{"line_number":862,"context_line":""},{"line_number":863,"context_line":"    def test_conflict_happend(self):"},{"line_number":864,"context_line":"        self.assertRaises(exception.Conflict, FakeTable().insert)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_dd2e9c8b","line":861,"updated":"2015-07-28 01:04:47.000000000","message":"Why not testing that FakeTable constructor doesn\u0027t fail on Python 3?","commit_id":"85a433082daf87998e8c48ea511f1be6a299f5b9"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"a1467578265846219c4a2ab037193919e7e6db67","unresolved":false,"context_lines":[{"line_number":858,"context_line":"            self.assertRaises(UnicodeDecodeError, FakeTable, col\u003d\u0027Я\u0027)"},{"line_number":859,"context_line":"        else:"},{"line_number":860,"context_line":"            # There\u0027s no UnicodeDecodeError on python 3."},{"line_number":861,"context_line":"            pass"},{"line_number":862,"context_line":""},{"line_number":863,"context_line":"    def test_conflict_happend(self):"},{"line_number":864,"context_line":"        self.assertRaises(exception.Conflict, FakeTable().insert)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a2fa921_780b967d","line":861,"in_reply_to":"3a50d1a3_dd2e9c8b","updated":"2015-10-09 08:47:41.000000000","message":"In that case, we will split this testcase into two with the same purpose. I think both is fine but just want keep it simple.","commit_id":"85a433082daf87998e8c48ea511f1be6a299f5b9"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"3ad4230e598a1647c5b8927f76aa7fe3a97d8721","unresolved":false,"context_lines":[{"line_number":855,"context_line":"        # NOTE(I159): On python 2, non ASCII characters must cause"},{"line_number":856,"context_line":"        # UnicodeDecodeError if encoding is not provided explicitly."},{"line_number":857,"context_line":"        if six.PY2:"},{"line_number":858,"context_line":"            self.assertRaises(UnicodeDecodeError, FakeTable, col\u003d\u0027Я\u0027)"},{"line_number":859,"context_line":"        else:"},{"line_number":860,"context_line":"            # There\u0027s no UnicodeDecodeError on python 3."},{"line_number":861,"context_line":"            pass"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a2ca52d_bbce6bb2","line":858,"updated":"2015-10-15 07:00:55.000000000","message":"You may write b\u0027\\xd0\\xaf\u0027 or u\u0027\\u042f\u0027.encoce(\u0027utf-8\u0027) to make it more explicit that you want to pass bytes to FakeTable constructor.\n\nBy the way, does the test pass on Python 3 if you pass *bytes* and not Unicode? (I have no idea if it makes sense to pass bytes, usually strings are Unicode on Python 3 and it\u0027s a bad accept to decode implicitly bytes.)","commit_id":"c34bff7ef36213a73b5301b2722fd889a8bbe728"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"af9026d0d12b82d1f24ebbe05210458980d15866","unresolved":false,"context_lines":[{"line_number":855,"context_line":"        # NOTE(I159): On python 2, non ASCII characters must cause"},{"line_number":856,"context_line":"        # UnicodeDecodeError if encoding is not provided explicitly."},{"line_number":857,"context_line":"        if six.PY2:"},{"line_number":858,"context_line":"            self.assertRaises(UnicodeDecodeError, FakeTable, col\u003d\u0027Я\u0027)"},{"line_number":859,"context_line":"        else:"},{"line_number":860,"context_line":"            # There\u0027s no UnicodeDecodeError on python 3."},{"line_number":861,"context_line":"            pass"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a29b11f_945b9954","line":858,"in_reply_to":"5a2ca52d_bbce6bb2","updated":"2015-10-18 09:25:59.000000000","message":"Victor - IMO, we cannot change the intention of testcase in this patch since this is out of scope of the patch. If you think the testcase is not test something correctly or what to add a new testcase, let\u0027s do it in a follow-up patch.","commit_id":"c34bff7ef36213a73b5301b2722fd889a8bbe728"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"f8ad9652e0697a115cd3084fcd1a5a1c26614594","unresolved":false,"context_lines":[{"line_number":851,"context_line":"        tt \u003d FakeTable(col\u003d\u0027a\u0027)"},{"line_number":852,"context_line":"        self.assertEqual(\u0027a\u0027, tt.col)"},{"line_number":853,"context_line":""},{"line_number":854,"context_line":"    def test_non_ascii_init(self):"},{"line_number":855,"context_line":"        # NOTE(I159): On python 2, non ASCII characters must cause"},{"line_number":856,"context_line":"        # UnicodeDecodeError if encoding is not provided explicitly."},{"line_number":857,"context_line":"        if six.PY2:"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a29b11f_6352b715","line":854,"updated":"2015-10-19 07:28:33.000000000","message":"Can\u0027t you use a decorator on the method instead of checking six.PY2 inside the method?\n\n@testtools.skipUnless(six.PY2, \"test specific to Python 2\")","commit_id":"237a1c53c01033883ceb67bab19513c9d915daa8"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"d1030458f10e6098581e8320d95e2cadf3f1ed59","unresolved":false,"context_lines":[{"line_number":851,"context_line":"        tt \u003d FakeTable(col\u003d\u0027a\u0027)"},{"line_number":852,"context_line":"        self.assertEqual(\u0027a\u0027, tt.col)"},{"line_number":853,"context_line":""},{"line_number":854,"context_line":"    def test_non_ascii_init(self):"},{"line_number":855,"context_line":"        # NOTE(I159): On python 2, non ASCII characters must cause"},{"line_number":856,"context_line":"        # UnicodeDecodeError if encoding is not provided explicitly."},{"line_number":857,"context_line":"        if six.PY2:"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a26ad4f_d1e588a8","line":854,"in_reply_to":"3a29b11f_6352b715","updated":"2015-10-28 09:15:24.000000000","message":"Done","commit_id":"237a1c53c01033883ceb67bab19513c9d915daa8"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"23d9bc01cfc9851dc02d0a93c94bf21230b20ce3","unresolved":false,"context_lines":[{"line_number":851,"context_line":"        tt \u003d FakeTable(col\u003d\u0027a\u0027)"},{"line_number":852,"context_line":"        self.assertEqual(\u0027a\u0027, tt.col)"},{"line_number":853,"context_line":""},{"line_number":854,"context_line":"    def test_non_ascii_init(self):"},{"line_number":855,"context_line":"        # NOTE(I159): On python 2, non ASCII characters must cause"},{"line_number":856,"context_line":"        # UnicodeDecodeError if encoding is not provided explicitly."},{"line_number":857,"context_line":"        if six.PY2:"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a29b11f_86db611b","line":854,"in_reply_to":"3a29b11f_6352b715","updated":"2015-10-19 08:11:20.000000000","message":"This might be better, will update this if there is anything else must be change and I need to sync with dstanek about this patch at first, thanks!","commit_id":"237a1c53c01033883ceb67bab19513c9d915daa8"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"59b69d41c76b81c0201be4dc85a52fd33dad2499","unresolved":false,"context_lines":[{"line_number":857,"context_line":"        if six.PY2:"},{"line_number":858,"context_line":"            self.assertRaises(UnicodeDecodeError, FakeTable, col\u003d\u0027Я\u0027)"},{"line_number":859,"context_line":"        else:"},{"line_number":860,"context_line":"            # There\u0027s no UnicodeDecodeError on python 3."},{"line_number":861,"context_line":"            pass"},{"line_number":862,"context_line":""},{"line_number":863,"context_line":"    def test_conflict_happend(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a29b11f_354f1894","line":860,"updated":"2015-10-19 04:00:33.000000000","message":"py3 seems to have UnicodeDecodeError: https://docs.python.org/3/library/exceptions.html#UnicodeDecodeError\n\nor do you mean that no exception is raising, and if so, why?","commit_id":"237a1c53c01033883ceb67bab19513c9d915daa8"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"76111ff65dcaabe70c53005788f0e85eaf418094","unresolved":false,"context_lines":[{"line_number":857,"context_line":"        if six.PY2:"},{"line_number":858,"context_line":"            self.assertRaises(UnicodeDecodeError, FakeTable, col\u003d\u0027Я\u0027)"},{"line_number":859,"context_line":"        else:"},{"line_number":860,"context_line":"            # There\u0027s no UnicodeDecodeError on python 3."},{"line_number":861,"context_line":"            pass"},{"line_number":862,"context_line":""},{"line_number":863,"context_line":"    def test_conflict_happend(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a29b11f_1b824d53","line":860,"in_reply_to":"3a29b11f_354f1894","updated":"2015-10-19 05:22:54.000000000","message":"acutally, no exception will raise on python3, tbh, I am not sure why this was changed in python3, but this is truelly a difference between python2 and python3 which will break the pytho3 test.","commit_id":"237a1c53c01033883ceb67bab19513c9d915daa8"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"2a6153c971ff0c9c728bf20471af067a153a37e8","unresolved":false,"context_lines":[{"line_number":856,"context_line":"    def test_non_ascii_init(self):"},{"line_number":857,"context_line":"        # NOTE(I159): Non ASCII characters must cause UnicodeDecodeError"},{"line_number":858,"context_line":"        # if encoding is not provided explicitly."},{"line_number":859,"context_line":"        self.assertRaises(UnicodeDecodeError, FakeTable, col\u003d\u0027Я\u0027)"},{"line_number":860,"context_line":""},{"line_number":861,"context_line":"    def test_conflict_happend(self):"},{"line_number":862,"context_line":"        self.assertRaises(exception.Conflict, FakeTable().insert)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a26ad4f_450e5a3c","line":859,"updated":"2015-10-30 01:46:20.000000000","message":"This test is invalid and should just be removed. We can assume that sqlalchemy works as designed and has their own tests and I don\u0027t think anybody in keystone cares about creating columns with invalid ascii strings.\n\nAlternatively, the test could be changed to use a valid unicode string by changing col\u003d\u0027Я\u0027 to col\u003du\u0027Я\u0027.","commit_id":"ef795a67797c4b59e0bfd2a18f995bbf44974b88"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"b514449b35c69bfacb580a9c5b524bacf4d01d56","unresolved":false,"context_lines":[{"line_number":856,"context_line":"    def test_non_ascii_init(self):"},{"line_number":857,"context_line":"        # NOTE(I159): Non ASCII characters must cause UnicodeDecodeError"},{"line_number":858,"context_line":"        # if encoding is not provided explicitly."},{"line_number":859,"context_line":"        self.assertRaises(UnicodeDecodeError, FakeTable, col\u003d\u0027Я\u0027)"},{"line_number":860,"context_line":""},{"line_number":861,"context_line":"    def test_conflict_happend(self):"},{"line_number":862,"context_line":"        self.assertRaises(exception.Conflict, FakeTable().insert)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a26ad4f_a88703d6","line":859,"in_reply_to":"1a26ad4f_450e5a3c","updated":"2015-10-30 02:41:05.000000000","message":"Done","commit_id":"ef795a67797c4b59e0bfd2a18f995bbf44974b88"}],"tox.ini":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"3ad4230e598a1647c5b8927f76aa7fe3a97d8721","unresolved":false,"context_lines":[{"line_number":42,"context_line":"      keystone/tests/unit/test_config.py \\"},{"line_number":43,"context_line":"      keystone/tests/unit/test_contrib_ec2.py \\"},{"line_number":44,"context_line":"      keystone/tests/unit/test_contrib_s3_core.py \\"},{"line_number":45,"context_line":"      keystone/tests/unit/test_backend_sql.py \\"},{"line_number":46,"context_line":"      keystone/tests/unit/test_driver_hints.py \\"},{"line_number":47,"context_line":"      keystone/tests/unit/test_exception.py \\"},{"line_number":48,"context_line":"      keystone/tests/unit/test_ipv6.py \\"}],"source_content_type":"text/x-properties","patch_set":3,"id":"5a2ca52d_bb450b18","line":45,"updated":"2015-10-15 07:00:55.000000000","message":"This one doesn\u0027t work yet on the CI: 3 tests failed with \"TypeError: execute_assignment_test_plan() missing 1 required positional argument: \u0027test_plan\u0027\", see logs. Another change is probably needed.","commit_id":"c34bff7ef36213a73b5301b2722fd889a8bbe728"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"af9026d0d12b82d1f24ebbe05210458980d15866","unresolved":false,"context_lines":[{"line_number":42,"context_line":"      keystone/tests/unit/test_config.py \\"},{"line_number":43,"context_line":"      keystone/tests/unit/test_contrib_ec2.py \\"},{"line_number":44,"context_line":"      keystone/tests/unit/test_contrib_s3_core.py \\"},{"line_number":45,"context_line":"      keystone/tests/unit/test_backend_sql.py \\"},{"line_number":46,"context_line":"      keystone/tests/unit/test_driver_hints.py \\"},{"line_number":47,"context_line":"      keystone/tests/unit/test_exception.py \\"},{"line_number":48,"context_line":"      keystone/tests/unit/test_ipv6.py \\"}],"source_content_type":"text/x-properties","patch_set":3,"id":"3a29b11f_34588556","line":45,"in_reply_to":"5a2ca52d_bb450b18","updated":"2015-10-18 09:25:59.000000000","message":"Done","commit_id":"c34bff7ef36213a73b5301b2722fd889a8bbe728"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"e025205746f2df811a167791d4874fc87084a3fc","unresolved":false,"context_lines":[{"line_number":41,"context_line":"      keystone/tests/unit/test_config.py \\"},{"line_number":42,"context_line":"      keystone/tests/unit/test_contrib_ec2.py \\"},{"line_number":43,"context_line":"      keystone/tests/unit/test_contrib_s3_core.py \\"},{"line_number":44,"context_line":"      keystone/tests/unit/test_backend_sql.py \\"},{"line_number":45,"context_line":"      keystone/tests/unit/test_driver_hints.py \\"},{"line_number":46,"context_line":"      keystone/tests/unit/test_exception.py \\"},{"line_number":47,"context_line":"      keystone/tests/unit/test_ipv6.py \\"}],"source_content_type":"text/x-properties","patch_set":7,"id":"1a26ad4f_c8759f98","line":44,"updated":"2015-10-30 01:48:51.000000000","message":"Why out of order?","commit_id":"ef795a67797c4b59e0bfd2a18f995bbf44974b88"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"b514449b35c69bfacb580a9c5b524bacf4d01d56","unresolved":false,"context_lines":[{"line_number":41,"context_line":"      keystone/tests/unit/test_config.py \\"},{"line_number":42,"context_line":"      keystone/tests/unit/test_contrib_ec2.py \\"},{"line_number":43,"context_line":"      keystone/tests/unit/test_contrib_s3_core.py \\"},{"line_number":44,"context_line":"      keystone/tests/unit/test_backend_sql.py \\"},{"line_number":45,"context_line":"      keystone/tests/unit/test_driver_hints.py \\"},{"line_number":46,"context_line":"      keystone/tests/unit/test_exception.py \\"},{"line_number":47,"context_line":"      keystone/tests/unit/test_ipv6.py \\"}],"source_content_type":"text/x-properties","patch_set":7,"id":"1a26ad4f_c8611f3b","line":44,"in_reply_to":"1a26ad4f_c8759f98","updated":"2015-10-30 02:41:05.000000000","message":"Done","commit_id":"ef795a67797c4b59e0bfd2a18f995bbf44974b88"}]}
