)]}'
{"swift/cli/recon.py":[{"author":{"_account_id":12261,"name":"Mahati","email":"mahati.chamarthy@gmail.com","username":"Mahati"},"change_message_id":"578417a14fb7b92ecc50d0bd07aa6c6244567f60","unresolved":false,"context_lines":[{"line_number":240,"context_line":"                    ring_names.add(ring_name)"},{"line_number":241,"context_line":"        else:"},{"line_number":242,"context_line":"            ring_name \u003d \u0027%s.ring.gz\u0027 % self.server_type"},{"line_number":243,"context_line":"            ring_names.add(ring_name)"},{"line_number":244,"context_line":"        rings \u003d {}"},{"line_number":245,"context_line":"        for ring_name in ring_names:"},{"line_number":246,"context_line":"            md5sum \u003d md5()"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_6cb845e6","line":243,"updated":"2016-06-07 12:35:31.000000000","message":"This change does not make a difference i believe. I removed this and your test works alright. Changes below in Line 268 \u0026 269 seem to do what is needed.","commit_id":"5b5ca81be6ca146d3ee10c4cb84892875d9e6221"},{"author":{"_account_id":16896,"name":"Ondřej Nový","email":"novy@ondrej.org","username":"onovy"},"change_message_id":"e9bdccb5e042800b8582b0f2d427b386e8f74359","unresolved":false,"context_lines":[{"line_number":240,"context_line":"                    ring_names.add(ring_name)"},{"line_number":241,"context_line":"        else:"},{"line_number":242,"context_line":"            ring_name \u003d \u0027%s.ring.gz\u0027 % self.server_type"},{"line_number":243,"context_line":"            ring_names.add(ring_name)"},{"line_number":244,"context_line":"        rings \u003d {}"},{"line_number":245,"context_line":"        for ring_name in ring_names:"},{"line_number":246,"context_line":"            md5sum \u003d md5()"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_3a3c1e93","line":243,"in_reply_to":"7aa08908_6cb845e6","updated":"2016-09-04 13:36:18.000000000","message":"i don\u0027t want to load ring for \"container\" if user requests \"object\" server_type. That\u0027s reason for this code.","commit_id":"5b5ca81be6ca146d3ee10c4cb84892875d9e6221"}],"test/unit/cli/test_recon.py":[{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"a49be2e71cdbce1dd81ec968395d9d1c1dc0fc0f","unresolved":false,"context_lines":[{"line_number":295,"context_line":"                    if \u0027!!\u0027 in line:"},{"line_number":296,"context_line":"                        self.fail(\u0027Unexpected Error in output: %r\u0027 % line)"},{"line_number":297,"context_line":"                    if expected in line:"},{"line_number":298,"context_line":"                        break"},{"line_number":299,"context_line":"                else:"},{"line_number":300,"context_line":"                    self.fail(\u0027Did not find expected substring %r \u0027"},{"line_number":301,"context_line":"                              \u0027in output:\\n%s\u0027 % (expected, output))"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_a7ded13c","line":298,"updated":"2016-06-07 10:06:30.000000000","message":"The break might actually hide some unexpected output, please avoid this","commit_id":"5b5ca81be6ca146d3ee10c4cb84892875d9e6221"},{"author":{"_account_id":16896,"name":"Ondřej Nový","email":"novy@ondrej.org","username":"onovy"},"change_message_id":"e9bdccb5e042800b8582b0f2d427b386e8f74359","unresolved":false,"context_lines":[{"line_number":295,"context_line":"                    if \u0027!!\u0027 in line:"},{"line_number":296,"context_line":"                        self.fail(\u0027Unexpected Error in output: %r\u0027 % line)"},{"line_number":297,"context_line":"                    if expected in line:"},{"line_number":298,"context_line":"                        break"},{"line_number":299,"context_line":"                else:"},{"line_number":300,"context_line":"                    self.fail(\u0027Did not find expected substring %r \u0027"},{"line_number":301,"context_line":"                              \u0027in output:\\n%s\u0027 % (expected, output))"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_fabb960c","line":298,"in_reply_to":"7aa08908_a7ded13c","updated":"2016-09-04 13:36:18.000000000","message":"Done","commit_id":"5b5ca81be6ca146d3ee10c4cb84892875d9e6221"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"a49be2e71cdbce1dd81ec968395d9d1c1dc0fc0f","unresolved":false,"context_lines":[{"line_number":327,"context_line":"                          \u0027in output:\\n%s\u0027 % (expected, output))"},{"line_number":328,"context_line":""},{"line_number":329,"context_line":"            # Check object ring, container mismatch should be ignored"},{"line_number":330,"context_line":"            self.recon_instance.server_type \u003d \u0027object\u0027"},{"line_number":331,"context_line":"            with mock.patch(\u0027sys.stdout\u0027, new\u003dstdout), \\"},{"line_number":332,"context_line":"                    mock.patch(\u0027swift.cli.recon.md5\u0027, new\u003dmock_hash):"},{"line_number":333,"context_line":"                mock_hash.return_value.hexdigest.return_value \u003d \\"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_f4036940","line":330,"updated":"2016-06-07 10:06:30.000000000","message":"So even if I set this manually to container or remove the statement at all, it won\u0027t fail. I would expect this to fail though given the comment?","commit_id":"5b5ca81be6ca146d3ee10c4cb84892875d9e6221"},{"author":{"_account_id":16896,"name":"Ondřej Nový","email":"novy@ondrej.org","username":"onovy"},"change_message_id":"e9bdccb5e042800b8582b0f2d427b386e8f74359","unresolved":false,"context_lines":[{"line_number":327,"context_line":"                          \u0027in output:\\n%s\u0027 % (expected, output))"},{"line_number":328,"context_line":""},{"line_number":329,"context_line":"            # Check object ring, container mismatch should be ignored"},{"line_number":330,"context_line":"            self.recon_instance.server_type \u003d \u0027object\u0027"},{"line_number":331,"context_line":"            with mock.patch(\u0027sys.stdout\u0027, new\u003dstdout), \\"},{"line_number":332,"context_line":"                    mock.patch(\u0027swift.cli.recon.md5\u0027, new\u003dmock_hash):"},{"line_number":333,"context_line":"                mock_hash.return_value.hexdigest.return_value \u003d \\"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_5acac2a2","line":330,"in_reply_to":"7aa08908_f4036940","updated":"2016-09-04 13:36:18.000000000","message":"Done","commit_id":"5b5ca81be6ca146d3ee10c4cb84892875d9e6221"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"a49be2e71cdbce1dd81ec968395d9d1c1dc0fc0f","unresolved":false,"context_lines":[{"line_number":345,"context_line":"                          \u0027in output:\\n%s\u0027 % (expected, output))"},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"        # Cleanup"},{"line_number":348,"context_line":"        self.recon_instance.server_type \u003d \u0027object\u0027"},{"line_number":349,"context_line":"        for ring in (\u0027account\u0027, \u0027container\u0027, \u0027object\u0027, \u0027object-1\u0027):"},{"line_number":350,"context_line":"            os.remove(os.path.join(self.swift_dir, \"%s.ring.gz\" % ring))"},{"line_number":351,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_d4362de6","line":348,"updated":"2016-06-07 10:06:30.000000000","message":"I think this is not needed?","commit_id":"5b5ca81be6ca146d3ee10c4cb84892875d9e6221"},{"author":{"_account_id":16896,"name":"Ondřej Nový","email":"novy@ondrej.org","username":"onovy"},"change_message_id":"e9bdccb5e042800b8582b0f2d427b386e8f74359","unresolved":false,"context_lines":[{"line_number":345,"context_line":"                          \u0027in output:\\n%s\u0027 % (expected, output))"},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"        # Cleanup"},{"line_number":348,"context_line":"        self.recon_instance.server_type \u003d \u0027object\u0027"},{"line_number":349,"context_line":"        for ring in (\u0027account\u0027, \u0027container\u0027, \u0027object\u0027, \u0027object-1\u0027):"},{"line_number":350,"context_line":"            os.remove(os.path.join(self.swift_dir, \"%s.ring.gz\" % ring))"},{"line_number":351,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_dabed2fe","line":348,"in_reply_to":"7aa08908_d4362de6","updated":"2016-09-04 13:36:18.000000000","message":"it\u0027s. i\u0027m resetting global server_type for testsuite back to default. same is done in this testsuite in other places too.","commit_id":"5b5ca81be6ca146d3ee10c4cb84892875d9e6221"}]}
