)]}'
{"rally/verification/tempest/tempest.py":[{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"f9105517c57a333c6f7b8e99c32ac338b7fc3b1d","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        if not os.path.isdir(self.path(\".testrepository\")):"},{"line_number":240,"context_line":"            LOG.debug(\"Test Repository initialization.\")"},{"line_number":241,"context_line":"            try:"},{"line_number":242,"context_line":"                check_output(\"%s testr init\" % self.venv_wrapper,"},{"line_number":243,"context_line":"                             shell\u003dTrue, cwd\u003dself.path())"},{"line_number":244,"context_line":"            except subprocess.CalledProcessError:"},{"line_number":245,"context_line":"                if os.path.exists(self.path(\".testrepository\")):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_7071b775","line":242,"updated":"2015-12-02 17:34:13.000000000","message":"Please do not use shell\u003dTrue\n\ncmd \u003d [\"testr\", \"init\"]\nif self.venv_wrapper:\n   cmd.insert(0, self.venv_wrapper)","commit_id":"9bf459385b97c47a97721d830e18de3d76e95fea"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"9abdd397a4d68ff6e0217f15249a5f153ff0e829","unresolved":false,"context_lines":[{"line_number":243,"context_line":"                cmd.insert(0, self.venv_wrapper)"},{"line_number":244,"context_line":"            try:"},{"line_number":245,"context_line":"                check_output(cmd, cwd\u003dself.path())"},{"line_number":246,"context_line":"            except subprocess.CalledProcessError:"},{"line_number":247,"context_line":"                if os.path.exists(self.path(\".testrepository\")):"},{"line_number":248,"context_line":"                    shutil.rmtree(self.path(\".testrepository\"))"},{"line_number":249,"context_line":"                raise TempestSetupFailure(_(\"failed to initialize \u0027testr\u0027\"))"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_a001e806","line":246,"updated":"2015-12-03 10:12:29.000000000","message":"You should catch IOError here.","commit_id":"62ba64ed070f1200ffa5283d0f8646e29bde53ee"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"56f927f8f5f54b59658265c7a3cc69d3368fe7a2","unresolved":false,"context_lines":[{"line_number":243,"context_line":"                cmd.insert(0, self.venv_wrapper)"},{"line_number":244,"context_line":"            try:"},{"line_number":245,"context_line":"                check_output(cmd, cwd\u003dself.path())"},{"line_number":246,"context_line":"            except subprocess.CalledProcessError:"},{"line_number":247,"context_line":"                if os.path.exists(self.path(\".testrepository\")):"},{"line_number":248,"context_line":"                    shutil.rmtree(self.path(\".testrepository\"))"},{"line_number":249,"context_line":"                raise TempestSetupFailure(_(\"failed to initialize \u0027testr\u0027\"))"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_e675c8f9","line":246,"in_reply_to":"9a8ffd7b_0ba7b5a7","updated":"2015-12-03 10:56:02.000000000","message":"Ok. If we are expecting missing testr, we should catch OSError too.","commit_id":"62ba64ed070f1200ffa5283d0f8646e29bde53ee"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"f7a06177196c5ebef64e483062a406cc81b78a6b","unresolved":false,"context_lines":[{"line_number":243,"context_line":"                cmd.insert(0, self.venv_wrapper)"},{"line_number":244,"context_line":"            try:"},{"line_number":245,"context_line":"                check_output(cmd, cwd\u003dself.path())"},{"line_number":246,"context_line":"            except subprocess.CalledProcessError:"},{"line_number":247,"context_line":"                if os.path.exists(self.path(\".testrepository\")):"},{"line_number":248,"context_line":"                    shutil.rmtree(self.path(\".testrepository\"))"},{"line_number":249,"context_line":"                raise TempestSetupFailure(_(\"failed to initialize \u0027testr\u0027\"))"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_a6f02068","line":246,"in_reply_to":"9a8ffd7b_0ba7b5a7","updated":"2015-12-03 10:57:02.000000000","message":"Sergey, Andrey is right. I will respin the patch.","commit_id":"62ba64ed070f1200ffa5283d0f8646e29bde53ee"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"2f6de7adbe65ebc7261eda1aa4533e527835f508","unresolved":false,"context_lines":[{"line_number":243,"context_line":"                cmd.insert(0, self.venv_wrapper)"},{"line_number":244,"context_line":"            try:"},{"line_number":245,"context_line":"                check_output(cmd, cwd\u003dself.path())"},{"line_number":246,"context_line":"            except subprocess.CalledProcessError:"},{"line_number":247,"context_line":"                if os.path.exists(self.path(\".testrepository\")):"},{"line_number":248,"context_line":"                    shutil.rmtree(self.path(\".testrepository\"))"},{"line_number":249,"context_line":"                raise TempestSetupFailure(_(\"failed to initialize \u0027testr\u0027\"))"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_0ba7b5a7","line":246,"in_reply_to":"9a8ffd7b_2b9959c4","updated":"2015-12-03 10:36:59.000000000","message":"Btw, in case of shell\u003dTrue, subprocess raises \"user-friendly\" error.","commit_id":"62ba64ed070f1200ffa5283d0f8646e29bde53ee"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"a3d337ec0dc54a561837cddf62f0fecad844f8f1","unresolved":false,"context_lines":[{"line_number":243,"context_line":"                cmd.insert(0, self.venv_wrapper)"},{"line_number":244,"context_line":"            try:"},{"line_number":245,"context_line":"                check_output(cmd, cwd\u003dself.path())"},{"line_number":246,"context_line":"            except subprocess.CalledProcessError:"},{"line_number":247,"context_line":"                if os.path.exists(self.path(\".testrepository\")):"},{"line_number":248,"context_line":"                    shutil.rmtree(self.path(\".testrepository\"))"},{"line_number":249,"context_line":"                raise TempestSetupFailure(_(\"failed to initialize \u0027testr\u0027\"))"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_cb8d2d32","line":246,"in_reply_to":"9a8ffd7b_2b9959c4","updated":"2015-12-03 10:36:12.000000000","message":"Sorry. It should be OSError.\nReason: In case of syste-wide install, testrepository package(testr) can be missed. Subprocess raises OSError for non-existing cmd:\n\nIn [1]: import subprocess\n\nIn [2]: subprocess.check_output(\"non-exist-cmd\")\nOSError: [Errno 2] No such file or directory","commit_id":"62ba64ed070f1200ffa5283d0f8646e29bde53ee"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"19a5deb54c962608c4de6ad7ef428d9c7944b977","unresolved":false,"context_lines":[{"line_number":243,"context_line":"                cmd.insert(0, self.venv_wrapper)"},{"line_number":244,"context_line":"            try:"},{"line_number":245,"context_line":"                check_output(cmd, cwd\u003dself.path())"},{"line_number":246,"context_line":"            except subprocess.CalledProcessError:"},{"line_number":247,"context_line":"                if os.path.exists(self.path(\".testrepository\")):"},{"line_number":248,"context_line":"                    shutil.rmtree(self.path(\".testrepository\"))"},{"line_number":249,"context_line":"                raise TempestSetupFailure(_(\"failed to initialize \u0027testr\u0027\"))"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_2b9959c4","line":246,"in_reply_to":"9a8ffd7b_a001e806","updated":"2015-12-03 10:31:09.000000000","message":"Why? CalledProcessError will be raised if testr exited with non-zero status.","commit_id":"62ba64ed070f1200ffa5283d0f8646e29bde53ee"}]}
