)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"47f7b9e950166b2aee247e4ab8ee2f5244f33020","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"e2af19aa_be2f3aa8","updated":"2026-03-13 12:19:27.000000000","message":"uniformity is good","commit_id":"364cc48d9e7741f93e9824af6980636bd5b56027"}],"test/unit/common/middleware/s3api/__init__.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"18d530838f69fd8481871f7c2745d913c77369a6","unresolved":true,"context_lines":[{"line_number":89,"context_line":"class S3ApiTestCase(BaseUnitTestCase):"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def __init__(self, name):"},{"line_number":92,"context_line":"        super().__init__(name)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def _wrap_app(self, app):"},{"line_number":95,"context_line":"        return FakeAuthApp(app)"}],"source_content_type":"text/x-python","patch_set":1,"id":"56cd44ee_dde260c9","line":92,"updated":"2026-03-12 18:09:59.000000000","message":"Or maybe I should just drop this method... There\u0027s no reason for it!","commit_id":"9e342fed733c23156e5e6316bf2909a84ac9f797"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"1c7afff95681a46978170921b3ce94ef1fc915d0","unresolved":true,"context_lines":[{"line_number":89,"context_line":"class S3ApiTestCase(BaseUnitTestCase):"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def __init__(self, name):"},{"line_number":92,"context_line":"        super().__init__(name)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def _wrap_app(self, app):"},{"line_number":95,"context_line":"        return FakeAuthApp(app)"}],"source_content_type":"text/x-python","patch_set":1,"id":"60f5e7ef_c43d3ccc","line":92,"in_reply_to":"56cd44ee_dde260c9","updated":"2026-03-13 12:17:57.000000000","message":"+1 this looks unnecessary","commit_id":"9e342fed733c23156e5e6316bf2909a84ac9f797"}],"test/unit/common/middleware/s3api/test_multi_get.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"1c7afff95681a46978170921b3ce94ef1fc915d0","unresolved":true,"context_lines":[{"line_number":81,"context_line":"        # this will call our _wrap_app"},{"line_number":82,"context_line":"        super().setUp()"},{"line_number":83,"context_line":"        manifest_headers, manifest_json \u003d _prepare_mpu("},{"line_number":84,"context_line":"            self.swift, self.ts, \u0027X\u0027, 3)"},{"line_number":85,"context_line":"        self.s3_etag \u003d manifest_headers[\u0027X-Object-Sysmeta-S3Api-Etag\u0027]"},{"line_number":86,"context_line":"        self.swift.register("},{"line_number":87,"context_line":"            \u0027GET\u0027, \u0027/v1/AUTH_test/bucket/mpu\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3ad0b818_29139d73","line":84,"range":{"start_line":84,"start_character":24,"end_line":84,"end_character":31},"updated":"2026-03-13 12:17:57.000000000","message":"nit: changing to self.ts_iter here would  preserve the next() in _prepare_mpu which is possibly a useful reminder of the iteration","commit_id":"9e342fed733c23156e5e6316bf2909a84ac9f797"}],"test/unit/obj/test_diskfile.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"1c7afff95681a46978170921b3ce94ef1fc915d0","unresolved":true,"context_lines":[{"line_number":1222,"context_line":"                      str(cm.exception))"},{"line_number":1223,"context_line":""},{"line_number":1224,"context_line":""},{"line_number":1225,"context_line":"class BaseDiskFileTestMixin(BaseUnitTestCase):"},{"line_number":1226,"context_line":"    \"\"\""},{"line_number":1227,"context_line":"    Bag of helpers that are useful in the per-policy DiskFile test classes,"},{"line_number":1228,"context_line":"    plus common setUp and tearDown methods."}],"source_content_type":"text/x-python","patch_set":1,"id":"23c54829_fd9ae879","line":1225,"updated":"2026-03-13 12:17:57.000000000","message":"this will make pytest select the tests in this mixin class or its subclasses, hence the test failures because the tests rely on being mixed in with another class (e.g. to provide mgr_cls).\n\nI don\u0027t like mixins!","commit_id":"9e342fed733c23156e5e6316bf2909a84ac9f797"}]}
