)]}'
{"nova/test.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cc2efe40404c3f70afa6581858c4317f71d17b89","unresolved":false,"context_lines":[{"line_number":192,"context_line":"NovaExceptionReraiseFormatError.patch()"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"class BasicTestCase(testtools.TestCase):"},{"line_number":196,"context_line":"    \"\"\"This is a very basic test base class."},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    There are some bare minimal things we need to do to be a well"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f515b1d_28edd824","line":195,"range":{"start_line":195,"start_character":6,"end_line":195,"end_character":19},"updated":"2017-09-26 14:25:14.000000000","message":"I still prefer https://review.openstack.org/#/c/507239/ since I don\u0027t like the Russian nesting doll of base test cases we have now, with NoDBTestCase -\u003e TestCase -\u003e BasicTestCase -\u003e TestCase. https://review.openstack.org/#/c/507239/ provides a simple flag to control behavior, like we do with locks, and cells, and the database.","commit_id":"76e1f51e34c9935c61ee80a54a972e0d50a623f6"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"d714af8cabc17a11f74ba9e09a23d33c14bd6642","unresolved":false,"context_lines":[{"line_number":192,"context_line":"NovaExceptionReraiseFormatError.patch()"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"class BasicTestCase(testtools.TestCase):"},{"line_number":196,"context_line":"    \"\"\"This is a very basic test base class."},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    There are some bare minimal things we need to do to be a well"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f515b1d_e09fd400","line":195,"range":{"start_line":195,"start_character":6,"end_line":195,"end_character":19},"in_reply_to":"7f515b1d_28edd824","updated":"2017-09-26 15:51:33.000000000","message":"So, while I understand that POV, it also means that test that only want the timout and log capture also build a full object registry. I actually think the magic class flags are a lot more confusing, and mean this whole thing gets coupled in very funny ways.","commit_id":"76e1f51e34c9935c61ee80a54a972e0d50a623f6"}],"nova/tests/unit/test_rpc.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dcdf358809e52513737eae455f824e22733b0e01","unresolved":false,"context_lines":[{"line_number":51,"context_line":"class TestRPC(test.BasicTestCase):"},{"line_number":52,"context_line":"    def setUp(self):"},{"line_number":53,"context_line":"        super(TestRPC, self).setUp()"},{"line_number":54,"context_line":"        lock_path \u003d self.useFixture(fixtures.TempDir()).path"},{"line_number":55,"context_line":"        self.fixture \u003d self.useFixture("},{"line_number":56,"context_line":"            config_fixture.Config(lockutils.CONF))"},{"line_number":57,"context_line":"        self.fixture.config(lock_path\u003dlock_path,"},{"line_number":58,"context_line":"                            group\u003d\u0027oslo_concurrency\u0027)"},{"line_number":59,"context_line":"        self.useFixture(RPCResetFixture())"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @mock.patch.object(rpc, \u0027get_allowed_exmods\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f515b1d_bc4a4b52","line":58,"range":{"start_line":54,"start_character":8,"end_line":58,"end_character":53},"updated":"2017-09-25 19:53:33.000000000","message":"The reason I did https://review.openstack.org/#/c/507239/ the way it is was so we don\u0027t need to duplicate this and just set a flag.","commit_id":"a943aad2d97d94371131144056df1602028e91d1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d9e126b0ebeead446718f970fd31dfe260d04d82","unresolved":false,"context_lines":[{"line_number":51,"context_line":"class TestRPC(test.BasicTestCase):"},{"line_number":52,"context_line":"    def setUp(self):"},{"line_number":53,"context_line":"        super(TestRPC, self).setUp()"},{"line_number":54,"context_line":"        lock_path \u003d self.useFixture(fixtures.TempDir()).path"},{"line_number":55,"context_line":"        self.fixture \u003d self.useFixture("},{"line_number":56,"context_line":"            config_fixture.Config(lockutils.CONF))"},{"line_number":57,"context_line":"        self.fixture.config(lock_path\u003dlock_path,"},{"line_number":58,"context_line":"                            group\u003d\u0027oslo_concurrency\u0027)"},{"line_number":59,"context_line":"        self.useFixture(RPCResetFixture())"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @mock.patch.object(rpc, \u0027get_allowed_exmods\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f515b1d_f25fbc6f","line":58,"range":{"start_line":54,"start_character":8,"end_line":58,"end_character":53},"in_reply_to":"7f515b1d_82b844c8","updated":"2017-09-26 07:47:46.000000000","message":"What if we move the REQUIRES_LOCKING flag to the BasicTestCase class. That way the locking code doesn\u0027t need to be duplicated but we can still have a BasicTestCase that by default does not do locking.","commit_id":"a943aad2d97d94371131144056df1602028e91d1"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"03e6261f299ca2924bbf198608407e9e0891acdf","unresolved":false,"context_lines":[{"line_number":51,"context_line":"class TestRPC(test.BasicTestCase):"},{"line_number":52,"context_line":"    def setUp(self):"},{"line_number":53,"context_line":"        super(TestRPC, self).setUp()"},{"line_number":54,"context_line":"        lock_path \u003d self.useFixture(fixtures.TempDir()).path"},{"line_number":55,"context_line":"        self.fixture \u003d self.useFixture("},{"line_number":56,"context_line":"            config_fixture.Config(lockutils.CONF))"},{"line_number":57,"context_line":"        self.fixture.config(lock_path\u003dlock_path,"},{"line_number":58,"context_line":"                            group\u003d\u0027oslo_concurrency\u0027)"},{"line_number":59,"context_line":"        self.useFixture(RPCResetFixture())"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @mock.patch.object(rpc, \u0027get_allowed_exmods\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f515b1d_82b844c8","line":58,"range":{"start_line":54,"start_character":8,"end_line":58,"end_character":53},"in_reply_to":"7f515b1d_bc4a4b52","updated":"2017-09-25 21:16:08.000000000","message":"sure, but that means this ends up loading a ton of other unrelated changes. And there is a comment here about not using the global locking flag","commit_id":"a943aad2d97d94371131144056df1602028e91d1"}]}
