)]}'
{"placement/test.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"917e18fa42031576544f679a2e05369828ca97ca","unresolved":false,"context_lines":[{"line_number":200,"context_line":"    def setUp(self):"},{"line_number":201,"context_line":"        \"\"\"Run before each test method to initialize test environment.\"\"\""},{"line_number":202,"context_line":"        super(TestCase, self).setUp()"},{"line_number":203,"context_line":"        self.useFixture(nova_fixtures.Timeout("},{"line_number":204,"context_line":"            os.environ.get(\u0027OS_TEST_TIMEOUT\u0027, 0),"},{"line_number":205,"context_line":"            self.TIMEOUT_SCALING_FACTOR))"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        self.useFixture(fixtures.NestedTempfile())"},{"line_number":208,"context_line":"        self.useFixture(fixtures.TempHomeDir())"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_e3d78e22","side":"PARENT","line":205,"range":{"start_line":203,"start_character":8,"end_line":205,"end_character":41},"updated":"2018-09-05 19:37:17.000000000","message":"I\u0027d think it would be useful to have stuff like this to avoid tests going awol, but placement unit tests are so few right now it\u0027s probably premature.","commit_id":"d02caa84efee46539858fd432f485ef2084c794a"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"af0ba66a5c21ef2fe66556e06ec0e106a207148c","unresolved":false,"context_lines":[{"line_number":200,"context_line":"    def setUp(self):"},{"line_number":201,"context_line":"        \"\"\"Run before each test method to initialize test environment.\"\"\""},{"line_number":202,"context_line":"        super(TestCase, self).setUp()"},{"line_number":203,"context_line":"        self.useFixture(nova_fixtures.Timeout("},{"line_number":204,"context_line":"            os.environ.get(\u0027OS_TEST_TIMEOUT\u0027, 0),"},{"line_number":205,"context_line":"            self.TIMEOUT_SCALING_FACTOR))"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        self.useFixture(fixtures.NestedTempfile())"},{"line_number":208,"context_line":"        self.useFixture(fixtures.TempHomeDir())"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_83fb3a79","side":"PARENT","line":205,"range":{"start_line":203,"start_character":8,"end_line":205,"end_character":41},"in_reply_to":"3f79a3b5_e3d78e22","updated":"2018-09-05 19:43:28.000000000","message":"Yeah, I figured anything that we weren\u0027t actively using (we already stopped using the nova base test case a while ago in placement, in nova) we\u0027d think about \"later\".","commit_id":"d02caa84efee46539858fd432f485ef2084c794a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"917e18fa42031576544f679a2e05369828ca97ca","unresolved":false,"context_lines":[{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        self.useFixture(fixtures.NestedTempfile())"},{"line_number":208,"context_line":"        self.useFixture(fixtures.TempHomeDir())"},{"line_number":209,"context_line":"        self.useFixture(log_fixture.get_logging_handle_error_fixture())"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        self.output \u003d nova_fixtures.OutputStreamCapture()"},{"line_number":212,"context_line":"        self.useFixture(self.output)"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"        self.stdlog \u003d nova_fixtures.StandardLogging()"},{"line_number":215,"context_line":"        self.useFixture(self.stdlog)"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"        # NOTE(sdague): because of the way we were using the lock"},{"line_number":218,"context_line":"        # wrapper we ended up with a lot of tests that started"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_a3dd1642","side":"PARENT","line":215,"range":{"start_line":209,"start_character":8,"end_line":215,"end_character":36},"updated":"2018-09-05 19:37:17.000000000","message":"Stuff like this is also useful for detecting bad log formatting, and to enable debug logging in test runs.","commit_id":"d02caa84efee46539858fd432f485ef2084c794a"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"4b990a552767486a071fff8b0df51217cbb6cb7a","unresolved":false,"context_lines":[{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        self.useFixture(fixtures.NestedTempfile())"},{"line_number":208,"context_line":"        self.useFixture(fixtures.TempHomeDir())"},{"line_number":209,"context_line":"        self.useFixture(log_fixture.get_logging_handle_error_fixture())"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        self.output \u003d nova_fixtures.OutputStreamCapture()"},{"line_number":212,"context_line":"        self.useFixture(self.output)"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"        self.stdlog \u003d nova_fixtures.StandardLogging()"},{"line_number":215,"context_line":"        self.useFixture(self.stdlog)"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"        # NOTE(sdague): because of the way we were using the lock"},{"line_number":218,"context_line":"        # wrapper we ended up with a lot of tests that started"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_fa790fc5","side":"PARENT","line":215,"range":{"start_line":209,"start_character":8,"end_line":215,"end_character":36},"in_reply_to":"3f79a3b5_633b7e37","updated":"2018-09-11 00:32:45.000000000","message":"https://review.openstack.org/#/c/601472/","commit_id":"d02caa84efee46539858fd432f485ef2084c794a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"28cd3313ea2b43066ef256ec48394df0f2525e74","unresolved":false,"context_lines":[{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        self.useFixture(fixtures.NestedTempfile())"},{"line_number":208,"context_line":"        self.useFixture(fixtures.TempHomeDir())"},{"line_number":209,"context_line":"        self.useFixture(log_fixture.get_logging_handle_error_fixture())"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        self.output \u003d nova_fixtures.OutputStreamCapture()"},{"line_number":212,"context_line":"        self.useFixture(self.output)"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"        self.stdlog \u003d nova_fixtures.StandardLogging()"},{"line_number":215,"context_line":"        self.useFixture(self.stdlog)"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"        # NOTE(sdague): because of the way we were using the lock"},{"line_number":218,"context_line":"        # wrapper we ended up with a lot of tests that started"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_433e8229","side":"PARENT","line":215,"range":{"start_line":209,"start_character":8,"end_line":215,"end_character":36},"in_reply_to":"3f79a3b5_a3dd1642","updated":"2018-09-05 19:43:12.000000000","message":"I see that placement already has the NulLHandler and a variant of the logging fixture, so it looks like you just need to add the get_logging_handle_error_fixture fixture in somewhere.","commit_id":"d02caa84efee46539858fd432f485ef2084c794a"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"af0ba66a5c21ef2fe66556e06ec0e106a207148c","unresolved":false,"context_lines":[{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        self.useFixture(fixtures.NestedTempfile())"},{"line_number":208,"context_line":"        self.useFixture(fixtures.TempHomeDir())"},{"line_number":209,"context_line":"        self.useFixture(log_fixture.get_logging_handle_error_fixture())"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        self.output \u003d nova_fixtures.OutputStreamCapture()"},{"line_number":212,"context_line":"        self.useFixture(self.output)"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"        self.stdlog \u003d nova_fixtures.StandardLogging()"},{"line_number":215,"context_line":"        self.useFixture(self.stdlog)"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"        # NOTE(sdague): because of the way we were using the lock"},{"line_number":218,"context_line":"        # wrapper we ended up with a lot of tests that started"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_633b7e37","side":"PARENT","line":215,"range":{"start_line":209,"start_character":8,"end_line":215,"end_character":36},"in_reply_to":"3f79a3b5_a3dd1642","updated":"2018-09-05 19:43:28.000000000","message":"Much of that is still around in the base case for functional tests at https://github.com/openstack/placement/blob/master/placement/tests/functional/base.py#L52-L55\n\nusing non-nova stuff\n\nFor the unit tests, since they tend to be a good deal more unity than nova\u0027s tests, it\u0027s more ad hoc.\n\nWhen I made the changes a few weeks back, my thinking was we would fix stuff as it annoyed us, or caused issues, using whatever new or copied tools we needed. The hope is that by not copying the tools we can find some shared stuff to either dump into oslo or use from oslo.","commit_id":"d02caa84efee46539858fd432f485ef2084c794a"}]}
