)]}'
{"oslo_config/tests/test_fixture.py":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"e09665d8a132965cef671b010dcbd11bf4d53e11","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        config_fixture.setUp()"},{"line_number":30,"context_line":"        config_fixture.register_opt(cfg.StrOpt("},{"line_number":31,"context_line":"            \u0027testing_option\u0027, default\u003d\u0027initial_value\u0027))"},{"line_number":32,"context_line":"        return (config_fixture, conf)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def test_overridden_value(self):"},{"line_number":35,"context_line":"        f, conf \u003d self._make_fixture()"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_3ad33506","line":32,"updated":"2015-06-30 20:38:21.000000000","message":"Isn\u0027t conf an attribute on the config? You should be able to just read it back out. That would let you return the fixture as-is. Then you can do:\n\n f \u003d self.useFixture(self._make_fixture())\n\nin the tests below that aren\u0027t testing cleanUp().","commit_id":"d86fd9b03fab02bf31e98d557a9ced78fe8da8ff"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"33d01444adbb5c3957013eb36effa28000dfbc21","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        config_fixture.setUp()"},{"line_number":30,"context_line":"        config_fixture.register_opt(cfg.StrOpt("},{"line_number":31,"context_line":"            \u0027testing_option\u0027, default\u003d\u0027initial_value\u0027))"},{"line_number":32,"context_line":"        return (config_fixture, conf)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def test_overridden_value(self):"},{"line_number":35,"context_line":"        f, conf \u003d self._make_fixture()"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_fdae2784","line":32,"in_reply_to":"ba3cc151_3ad33506","updated":"2015-06-30 20:44:52.000000000","message":"That\u0027s a reasonable cleanup. Are you OK with me submitting it as a separate patch, since this repo is dead until we land something to address the fixture behavior change?","commit_id":"d86fd9b03fab02bf31e98d557a9ced78fe8da8ff"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"336bbfb4a4c31b09ee7fda058f4b0dad85dae45d","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        config_fixture.setUp()"},{"line_number":30,"context_line":"        config_fixture.register_opt(cfg.StrOpt("},{"line_number":31,"context_line":"            \u0027testing_option\u0027, default\u003d\u0027initial_value\u0027))"},{"line_number":32,"context_line":"        return (config_fixture, conf)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def test_overridden_value(self):"},{"line_number":35,"context_line":"        f, conf \u003d self._make_fixture()"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_fd7867f4","line":32,"in_reply_to":"ba3cc151_fdae2784","updated":"2015-06-30 20:48:56.000000000","message":"Sure, of course.","commit_id":"d86fd9b03fab02bf31e98d557a9ced78fe8da8ff"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"e09665d8a132965cef671b010dcbd11bf4d53e11","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        self.assertEqual(conf.get(\u0027testing_option\u0027), \u0027initial_value\u0027)"},{"line_number":37,"context_line":"        f.config(testing_option\u003d\u0027changed_value\u0027)"},{"line_number":38,"context_line":"        self.assertEqual(conf.get(\u0027testing_option\u0027),"},{"line_number":39,"context_line":"                         f.conf.get(\u0027testing_option\u0027))"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def test_cleanup(self):"},{"line_number":42,"context_line":"        f, conf \u003d self._make_fixture()"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_fac94d79","line":39,"updated":"2015-06-30 20:38:21.000000000","message":"So this test is going to leak a setUp fixture. Is that desired (or a problem) ? See above for a suggestion to keep this test small and clean but address it.\n\nI think it is an issue because of the global nature of the config :(","commit_id":"d86fd9b03fab02bf31e98d557a9ced78fe8da8ff"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"33d01444adbb5c3957013eb36effa28000dfbc21","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        self.assertEqual(conf.get(\u0027testing_option\u0027), \u0027initial_value\u0027)"},{"line_number":37,"context_line":"        f.config(testing_option\u003d\u0027changed_value\u0027)"},{"line_number":38,"context_line":"        self.assertEqual(conf.get(\u0027testing_option\u0027),"},{"line_number":39,"context_line":"                         f.conf.get(\u0027testing_option\u0027))"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def test_cleanup(self):"},{"line_number":42,"context_line":"        f, conf \u003d self._make_fixture()"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_fd770738","line":39,"in_reply_to":"ba3cc151_fac94d79","updated":"2015-06-30 20:44:52.000000000","message":"All of the tests get their own ConfigOpts instance, so I wasn\u0027t worried about leaking them.","commit_id":"d86fd9b03fab02bf31e98d557a9ced78fe8da8ff"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"e09665d8a132965cef671b010dcbd11bf4d53e11","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        self.assertRaises(cfg.NoSuchOptError, conf.get, \u0027new_test_opt\u0027)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def test_load_raw_values(self):"},{"line_number":98,"context_line":"        f, conf \u003d self._make_fixture()"},{"line_number":99,"context_line":"        f.load_raw_values(first_test_opt\u003d\u0027loaded_value_1\u0027,"},{"line_number":100,"context_line":"                          second_test_opt\u003d\u0027loaded_value_2\u0027)"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_7aff7d67","line":98,"updated":"2015-06-30 20:38:21.000000000","message":"if this test fails, it will leak the fixture. So I think you want either a with: statement or a try:except:else: around it.","commit_id":"d86fd9b03fab02bf31e98d557a9ced78fe8da8ff"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"e09665d8a132965cef671b010dcbd11bf4d53e11","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        f.register_opt(opt1)"},{"line_number":124,"context_line":"        f.register_opt(opt2)"},{"line_number":125,"context_line":"        self.assertEqual(conf.first_test_opt, \u0027initial_value_1\u0027)"},{"line_number":126,"context_line":"        self.assertEqual(conf.second_test_opt, \u0027initial_value_2\u0027)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    def test_assert_default_files_cleanup(self):"},{"line_number":129,"context_line":"        \"\"\"Assert that using the fixture forces a clean list.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_9d24bbaf","line":126,"updated":"2015-06-30 20:38:21.000000000","message":"And this test seems to leak options (because they are applied after the fixture is cleaned up, so it\u0027s no longer there to save us) - unless there is a base class isolating all the tests from global state?","commit_id":"d86fd9b03fab02bf31e98d557a9ced78fe8da8ff"}]}
