)]}'
{"tempest/hacking/checks.py":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"8da88eec491218590dce426d15ff87cc3e49d8a0","unresolved":false,"context_lines":[{"line_number":28,"context_line":"SCENARIO_DECORATOR \u003d re.compile(r\u0027\\s*@.*services\\((.*)\\)\u0027)"},{"line_number":29,"context_line":"VI_HEADER_RE \u003d re.compile(r\"^#\\s+vim?:.+\")"},{"line_number":30,"context_line":"mutable_default_args \u003d re.compile(r\"^\\s*def .+\\((.+\u003d\\{\\}|.+\u003d\\[\\])\")"},{"line_number":31,"context_line":"SETUP_TEARDOWN_CLASS_DEFINITION \u003d re.compile(r\u0027^\\s*def (setUp|tearDown)Class\u0027)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"def import_no_clients_in_api(physical_line, filename):"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa201ad_edef3eaf","line":31,"updated":"2014-10-06 19:47:18.000000000","message":"I think this should be:\n\n\u0027^\\s+def (setUp|tearDown)Class\u0027\n\nbecause there will never be 0 whitespace before def. But, that being said this will still catch all of those too.","commit_id":"e28cff6b7b78ee05cb4943aa6bbc8e918cb54e06"}],"tempest/tests/common/utils/test_misc.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"cc10f8d3ccf3a498bc04ab9aac790f52f71fa77b","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        self.assertEqual(\u0027TestMisc:setUpClass\u0027, setUpClass(self.__class__))"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def test_find_test_caller_teardown_self(self):"},{"line_number":75,"context_line":"        def tearDown(self):  # noqa"},{"line_number":76,"context_line":"            return misc.find_test_caller()"},{"line_number":77,"context_line":"        self.assertEqual(\u0027TestMisc:tearDown\u0027, tearDown(self))"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"baa201ad_ae80c2f7","line":75,"updated":"2014-10-07 09:03:44.000000000","message":"This #noqa seems unnecessary because this is not tearDownClass.","commit_id":"8c08a5b8d033c8060931a36420948f8522f74019"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"b7ea65cf59745451facf6def2ae4d2766a594f83","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        self.assertEqual(\u0027TestMisc:setUpClass\u0027, setUpClass(self.__class__))"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def test_find_test_caller_teardown_self(self):"},{"line_number":75,"context_line":"        def tearDown(self):  # noqa"},{"line_number":76,"context_line":"            return misc.find_test_caller()"},{"line_number":77,"context_line":"        self.assertEqual(\u0027TestMisc:tearDown\u0027, tearDown(self))"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"baa201ad_29e5ac37","line":75,"in_reply_to":"baa201ad_0e246ec3","updated":"2014-10-07 09:23:14.000000000","message":"This patch seems to add here..","commit_id":"8c08a5b8d033c8060931a36420948f8522f74019"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"2484083e9b2f11cd9b807205add568eed0030402","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        self.assertEqual(\u0027TestMisc:setUpClass\u0027, setUpClass(self.__class__))"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def test_find_test_caller_teardown_self(self):"},{"line_number":75,"context_line":"        def tearDown(self):  # noqa"},{"line_number":76,"context_line":"            return misc.find_test_caller()"},{"line_number":77,"context_line":"        self.assertEqual(\u0027TestMisc:tearDown\u0027, tearDown(self))"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"baa201ad_0e246ec3","line":75,"in_reply_to":"baa201ad_ae80c2f7","updated":"2014-10-07 09:14:08.000000000","message":"I guess so, but that\u0027s not something I touched in this patch, so I\u0027d rather not change it here","commit_id":"8c08a5b8d033c8060931a36420948f8522f74019"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"cc10f8d3ccf3a498bc04ab9aac790f52f71fa77b","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        self.assertEqual(\u0027TestMisc:tearDown\u0027, tearDown(self))"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def test_find_test_caller_teardown_no_self(self):"},{"line_number":80,"context_line":"        def tearDown():  # noqa"},{"line_number":81,"context_line":"            return misc.find_test_caller()"},{"line_number":82,"context_line":"        self.assertEqual(\u0027:tearDown\u0027, tearDown())"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"baa201ad_4e711643","line":80,"updated":"2014-10-07 09:03:44.000000000","message":"ditto","commit_id":"8c08a5b8d033c8060931a36420948f8522f74019"}]}
