)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"80567462b818bc499bae13eb23d21ca3219db20a","unresolved":false,"context_lines":[{"line_number":9,"context_line":"We are constantly reloading the application object during our tests."},{"line_number":10,"context_line":"This caused a slow down when the paste.ini was changed to use entry"},{"line_number":11,"context_line":"points instead of class paths."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I2f3a1872fccbfb2841907d55630d0eba8c8f73ba"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da20952f_1b86d665","line":12,"updated":"2015-09-01 16:48:10.000000000","message":"Closes-Bug: 1490160","commit_id":"5272a9ced0ead435f8d4e03ddc48f0224dcf4ac5"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"df1d4e1ab181e4430a51a412d4f815634f495f3b","unresolved":false,"context_lines":[{"line_number":9,"context_line":"We are constantly reloading the application object during our tests."},{"line_number":10,"context_line":"This caused a slow down when the paste.ini was changed to use entry"},{"line_number":11,"context_line":"points instead of class paths."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I2f3a1872fccbfb2841907d55630d0eba8c8f73ba"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da20952f_50642448","line":12,"in_reply_to":"da20952f_1b86d665","updated":"2015-09-01 19:42:25.000000000","message":"Done","commit_id":"5272a9ced0ead435f8d4e03ddc48f0224dcf4ac5"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f0792ff1a0bc2122eafc016613aa2dc5607d1db8","unresolved":false,"context_lines":[{"line_number":9,"context_line":"We are constantly reloading the application object during our tests."},{"line_number":10,"context_line":"This caused a slow down when the paste.ini was changed to use entry"},{"line_number":11,"context_line":"points instead of class paths."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I2f3a1872fccbfb2841907d55630d0eba8c8f73ba"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"da20952f_90307cea","line":12,"updated":"2015-09-01 19:31:22.000000000","message":"Closes-Bug: 1490160","commit_id":"e5b695c67020f749ac39949025eb4678c8e321e5"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"af03b33ff59ec4ef4718a35d8bcf46922f2eb008","unresolved":false,"context_lines":[{"line_number":9,"context_line":"We are constantly reloading the application object during our tests."},{"line_number":10,"context_line":"This caused a slow down when the paste.ini was changed to use entry"},{"line_number":11,"context_line":"points instead of class paths."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I2f3a1872fccbfb2841907d55630d0eba8c8f73ba"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"da20952f_307890f8","line":12,"in_reply_to":"da20952f_90307cea","updated":"2015-09-01 19:41:43.000000000","message":"Done","commit_id":"e5b695c67020f749ac39949025eb4678c8e321e5"}],"keystone/tests/unit/__init__.py":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"ba6872fcf5714e1a507515a071a85a3e5d001c1f","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    # tests will fail with import errors."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    import sys"},{"line_number":26,"context_line":"    from unittest import mock  # noqa: our import detection is naive?"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    sys.modules[\u0027ldappool\u0027] \u003d mock.Mock()"},{"line_number":29,"context_line":"    sys.modules[\u0027memcache\u0027] \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_3e3a91e8","side":"PARENT","line":26,"updated":"2015-09-02 03:01:37.000000000","message":"This is a latent bug: it should always be importing \u0027mock\u0027. I suspect you\u0027ve got some evil like I mailed about to the list in your __init__ somewhere.","commit_id":"3d489731370969dd04c50fe168ea99544a8e4cb9"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"38429941b3e63594fc1fb34b110ae0025d6dbc0e","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    sys.modules[\u0027ldappool\u0027] \u003d mock.Mock()"},{"line_number":29,"context_line":"    sys.modules[\u0027memcache\u0027] \u003d mock.Mock()"},{"line_number":30,"context_line":"    sys.modules[\u0027oslo_messaging\u0027] \u003d mock.Mock()"},{"line_number":31,"context_line":"    sys.modules[\u0027paste\u0027] \u003d mock.Mock()"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"# NOTE(dstanek): oslo_i18n.enable_lazy() must be called before"},{"line_number":34,"context_line":"# keystone.i18n._() is called to ensure it has the desired lazy lookup"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_29afc295","side":"PARENT","line":31,"updated":"2015-09-01 22:49:54.000000000","message":"suggest put this in a separate patch.","commit_id":"3d489731370969dd04c50fe168ea99544a8e4cb9"}],"keystone/tests/unit/core.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a4f37fb6c88109eb0b87f148db34597c0fe5963b","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"class EggLoader(loadwsgi.EggLoader):"},{"line_number":118,"context_line":"    _basket \u003d {}"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":121,"context_line":"        super(EggLoader, self).__init__(*args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_059af5c5","line":118,"updated":"2015-09-01 16:10:44.000000000","message":"Should we be putting all our eggs in one basket?","commit_id":"0ac43fd4161eed67dee7067fddbe244c4f6161d8"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"8a67315fb88d00dc647c4f6446f387985bcbc607","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"class EggLoader(loadwsgi.EggLoader):"},{"line_number":118,"context_line":"    _basket \u003d {}"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":121,"context_line":"        super(EggLoader, self).__init__(*args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_65c0912b","line":118,"in_reply_to":"da20952f_059af5c5","updated":"2015-09-01 16:17:15.000000000","message":"only if it\u0027s a sturdy one","commit_id":"0ac43fd4161eed67dee7067fddbe244c4f6161d8"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"e81cc4daa5e0ebfc31315cd7084d33425fb81090","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"class EggLoader(loadwsgi.EggLoader):"},{"line_number":118,"context_line":"    _basket \u003d {}"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":121,"context_line":"        super(EggLoader, self).__init__(*args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_c5107d5c","line":118,"in_reply_to":"da20952f_65c0912b","updated":"2015-09-01 16:25:59.000000000","message":"Nice...","commit_id":"0ac43fd4161eed67dee7067fddbe244c4f6161d8"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a4f37fb6c88109eb0b87f148db34597c0fe5963b","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    _basket \u003d {}"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":121,"context_line":"        super(EggLoader, self).__init__(*args, **kwargs)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def find_egg_entry_point(self, object_type, name\u003dNone):"},{"line_number":124,"context_line":"        egg_key \u003d \u0027%s:%s\u0027 % (object_type, name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_45b8ed2a","line":121,"updated":"2015-09-01 16:10:44.000000000","message":"this is the default.","commit_id":"0ac43fd4161eed67dee7067fddbe244c4f6161d8"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"8a67315fb88d00dc647c4f6446f387985bcbc607","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    _basket \u003d {}"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":121,"context_line":"        super(EggLoader, self).__init__(*args, **kwargs)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def find_egg_entry_point(self, object_type, name\u003dNone):"},{"line_number":124,"context_line":"        egg_key \u003d \u0027%s:%s\u0027 % (object_type, name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_45f0edc9","line":121,"in_reply_to":"da20952f_45b8ed2a","updated":"2015-09-01 16:17:15.000000000","message":"oops. yeah, i was supposed to delete this. originally the _basket was an instance variable, but EggLoader is created several times","commit_id":"0ac43fd4161eed67dee7067fddbe244c4f6161d8"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"8a7a094836bca3d1d48a98d35811c1cfbbb8f6fe","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        if egg_key not in self._basket:"},{"line_number":123,"context_line":"            self._basket[egg_key] \u003d super(EggLoader, self).find_egg_entry_point("},{"line_number":124,"context_line":"                object_type, name\u003dname)"},{"line_number":125,"context_line":"        return self._basket[egg_key]"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"# NOTE(dstanek): class paths were remove from the keystone-paste.ini in"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_5b30cee8","line":125,"updated":"2015-09-01 16:47:13.000000000","message":"there\u0027s potentially 3 lookups in the dict so this could be more efficient.\n\n ret \u003d self._basket.get(egg_key)\n if ret:\n   return ret\n ret \u003d super(EggLoader,...\n self._basket[egg_key] \u003d ret\n return ret","commit_id":"5272a9ced0ead435f8d4e03ddc48f0224dcf4ac5"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"df1d4e1ab181e4430a51a412d4f815634f495f3b","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        if egg_key not in self._basket:"},{"line_number":123,"context_line":"            self._basket[egg_key] \u003d super(EggLoader, self).find_egg_entry_point("},{"line_number":124,"context_line":"                object_type, name\u003dname)"},{"line_number":125,"context_line":"        return self._basket[egg_key]"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"# NOTE(dstanek): class paths were remove from the keystone-paste.ini in"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_105eac76","line":125,"in_reply_to":"da20952f_5b30cee8","updated":"2015-09-01 19:42:25.000000000","message":"Done","commit_id":"5272a9ced0ead435f8d4e03ddc48f0224dcf4ac5"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"c4311c5cbff345796df56d57218ab1b316f4d910","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"# NOTE(dstanek): class paths were remove from the keystone-paste.ini in"},{"line_number":131,"context_line":"# favor of using entry points. This caused tests to slow to a crawl"},{"line_number":132,"context_line":"# since we reload the application object for test RESTful test. This"},{"line_number":133,"context_line":"# monkey-patching adds caching to paste deploy\u0027s egg lookup."},{"line_number":134,"context_line":"loadwsgi.EggLoader \u003d EggLoader"},{"line_number":135,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_5e166556","line":132,"updated":"2015-09-02 03:03:02.000000000","message":"\u0027test RESTful test\u0027? Do you mean each ?","commit_id":"828beb09f7bca6e8e97f0751dc6e7717a85fae11"}]}
