)]}'
{"tests/test_cfg.py":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"946936d1d88c5964c5db5c21331455e3243bd0de","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from oslo.config.cfg import *"},{"line_number":26,"context_line":"from tests import utils"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class ExceptionsTestCase(utils.BaseTestCase):"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def test_error(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOX%2F%2F6Tc%3D","line":28,"updated":"2013-04-07 21:27:03.000000000","message":"Add in here\n\n\nload_tests \u003d testscenarios.load_tests_apply_scenarios","commit_id":"dd3c085d5b3be2678c252e8772fd6b5a82393caf"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"946936d1d88c5964c5db5c21331455e3243bd0de","unresolved":false,"context_lines":[{"line_number":153,"context_line":"class CliOptsTestCase(BaseTestCase):"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    scenarios \u003d ["},{"line_number":156,"context_line":"        (\u0027str_default\u0027,"},{"line_number":157,"context_line":"         dict(opt_class\u003dStrOpt, default\u003dNone, cli_args\u003d[], value\u003dNone,"},{"line_number":158,"context_line":"              deps\u003d(None, None))),"},{"line_number":159,"context_line":"        (\u0027str_arg\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOX%2F%2F6TU%3D","line":156,"updated":"2013-04-07 21:27:03.000000000","message":"You can use space if you want: \"str default\".","commit_id":"dd3c085d5b3be2678c252e8772fd6b5a82393caf"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"946936d1d88c5964c5db5c21331455e3243bd0de","unresolved":false,"context_lines":[{"line_number":2309,"context_line":""},{"line_number":2310,"context_line":""},{"line_number":2311,"context_line":"def load_tests(loader, in_tests, pattern):"},{"line_number":2312,"context_line":"    return testscenarios.load_tests_apply_scenarios(loader, in_tests, pattern)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOX%2F%2F6TY%3D","line":2312,"updated":"2013-04-07 21:27:03.000000000","message":"This isn\u0027t needed - see the top of the file.","commit_id":"dd3c085d5b3be2678c252e8772fd6b5a82393caf"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"aec77affbae452031e288515b8a389c994e8bb5e","unresolved":false,"context_lines":[{"line_number":153,"context_line":""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"class CliOptsTestCase(BaseTestCase):"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    scenarios \u003d ["},{"line_number":158,"context_line":"        (\u0027str_default\u0027,"},{"line_number":159,"context_line":"         dict(opt_class\u003dStrOpt, default\u003dNone, cli_args\u003d[], value\u003dNone,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOn%2F%2Fnsw%3D","line":156,"updated":"2013-05-01 16:29:45.000000000","message":"We could really do with a docstring up here to explain each of the parameters","commit_id":"dccde3727d8657e5b6778a42b919e5b384103a63"}],"tests/utils.py":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"946936d1d88c5964c5db5c21331455e3243bd0de","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        self.addCleanup(self.mox.VerifyAll)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"class BaseTestCase(testtools.TestCase, testresources.ResourcedTestCase):"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def setUp(self):"},{"line_number":52,"context_line":"        super(BaseTestCase, self).setUp()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOX%2F%2F6TQ%3D","line":49,"updated":"2013-04-07 21:27:03.000000000","message":"I don\u0027t see any use of TestResources yet; is this just future proofing? I\u0027d be inclined to leave it until it\u0027s needed. Up to you of course.","commit_id":"dd3c085d5b3be2678c252e8772fd6b5a82393caf"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"0581149e9f50a9d1e88bca048104eff93a758df2","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            self.useFixture(fixtures.MonkeyPatch(\u0027sys.stdout\u0027, stdout))"},{"line_number":68,"context_line":"        if os.environ.get(\u0027OS_STDERR_CAPTURE\u0027) in TRUE_VALUES:"},{"line_number":69,"context_line":"            stderr \u003d self.useFixture(fixtures.StringStream(\u0027stderr\u0027)).stream"},{"line_number":70,"context_line":"            self.useFixture(fixtures.MonkeyPatch(\u0027sys.stderr\u0027, stderr))"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOn%2F%2FnsY%3D","line":70,"updated":"2013-05-01 16:31:54.000000000","message":"Hmm, actually - this stuff has nothing to do with what\u0027s described in the commit message ... please split it out","commit_id":"dccde3727d8657e5b6778a42b919e5b384103a63"}]}
