)]}'
{"paunch/runner.py":[{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"47ea4a17a279383d244578d472be103b84a199b8","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                             \"by %s\" % self.cont_cmd)"},{"line_number":102,"context_line":"            return True"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def container_exist(self, name, quiet\u003dFalse):"},{"line_number":105,"context_line":"        # the command only exists in podman."},{"line_number":106,"context_line":"        if self.cont_cmd \u003d\u003d \u0027podman\u0027:"},{"line_number":107,"context_line":"            cmd \u003d [\u0027podman\u0027, \u0027container\u0027, \u0027exists\u0027, name]"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_af5d1448","line":104,"updated":"2019-06-25 10:11:23.000000000","message":"Like the `image_exist` funct why don\u0027t use PodmanRunner/DockerRunner to introduce specific and specialized treatments instead of introduce specific use case in the BaseRunner class?","commit_id":"240a441e238e0774a2289339fcff11e257eb5b0d"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"4846ca931bef30105e521d06668c11184cb963ed","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                             \"by %s\" % self.cont_cmd)"},{"line_number":102,"context_line":"            return True"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def container_exist(self, name, quiet\u003dFalse):"},{"line_number":105,"context_line":"        # the command only exists in podman."},{"line_number":106,"context_line":"        if self.cont_cmd \u003d\u003d \u0027podman\u0027:"},{"line_number":107,"context_line":"            cmd \u003d [\u0027podman\u0027, \u0027container\u0027, \u0027exists\u0027, name]"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_a5f7758b","line":104,"in_reply_to":"9fb8cfa7_af5d1448","updated":"2019-06-25 12:16:57.000000000","message":"Done","commit_id":"240a441e238e0774a2289339fcff11e257eb5b0d"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"56cbeff179f10330ddaab3b261b3f05cbbdd16bf","unresolved":false,"context_lines":[{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    def container_exist(self, name, quiet\u003dFalse):"},{"line_number":353,"context_line":"        cmd \u003d [\u0027podman\u0027, \u0027container\u0027, \u0027exists\u0027, name]"},{"line_number":354,"context_line":"        (cmd_stdout, cmd_stderr, returncode) \u003d self.execute("},{"line_number":355,"context_line":"            cmd, self.log, quiet)"},{"line_number":356,"context_line":"        return True if returncode \u003d\u003d 0 else False"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_092a1b2b","line":354,"range":{"start_line":354,"start_character":9,"end_line":354,"end_character":31},"updated":"2019-06-25 12:51:59.000000000","message":"if you don\u0027t take care about `cmd_stdout` and `cmd_stderr` by convention we prefer to use `_`, that prevent linter (flake8, etc...) to warn on non used variables\n\nSo something like this is enough:\n```\n_, _, returncode \u003d self.execute(cmd, self.log, quiet)\n```","commit_id":"335dee3098287f02d9f871bf89ce057684e425d9"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"68eecf8c5e6d97250e84911dec34d1e81c77fc52","unresolved":false,"context_lines":[{"line_number":353,"context_line":"        cmd \u003d [\u0027podman\u0027, \u0027container\u0027, \u0027exists\u0027, name]"},{"line_number":354,"context_line":"        (cmd_stdout, cmd_stderr, returncode) \u003d self.execute("},{"line_number":355,"context_line":"            cmd, self.log, quiet)"},{"line_number":356,"context_line":"        return True if returncode \u003d\u003d 0 else False"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_49057310","line":356,"range":{"start_line":356,"start_character":8,"end_line":356,"end_character":49},"updated":"2019-06-25 12:37:44.000000000","message":"return returncode \u003d\u003d 0","commit_id":"335dee3098287f02d9f871bf89ce057684e425d9"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"bfd10fc9ab0723555801ec0ff90e05a5cae27c35","unresolved":false,"context_lines":[{"line_number":351,"context_line":"    def container_exist(self, name, quiet\u003dFalse):"},{"line_number":352,"context_line":"        cmd \u003d [\u0027podman\u0027, \u0027container\u0027, \u0027exists\u0027, name]"},{"line_number":353,"context_line":"        (_, _, returncode) \u003d self.execute(cmd, self.log, quiet)"},{"line_number":354,"context_line":"        return True if returncode \u003d\u003d 0 else False"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_c31ffc05","line":354,"updated":"2019-06-25 18:12:02.000000000","message":"Cedric comment is right, you need to replace this code by using:\n```\nreturn returncode \u003d\u003d 0\n```\n\nSee my explanaition on \u003d\u003e https://review.opendev.org/#/c/665739/4/paunch/runner.py","commit_id":"8ae1c5e4b3d3f3651cd3e625898a5e19a4ba6937"}],"paunch/tests/test_runner.py":[{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"a541f0b84e6de23f0420aa109c0ccb33ea42c0ac","unresolved":false,"context_lines":[{"line_number":425,"context_line":"            popen, [\u0027podman\u0027, \u0027image\u0027, \u0027exists\u0027, \u0027one\u0027]"},{"line_number":426,"context_line":"        )"},{"line_number":427,"context_line":""},{"line_number":428,"context_line":"    @mock.patch(\u0027subprocess.Popen\u0027)"},{"line_number":429,"context_line":"    def test_container_exist(self, popen):"},{"line_number":430,"context_line":"        self.mock_execute(popen, \u0027\u0027, \u0027\u0027, 0)"},{"line_number":431,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"9fb8cfa7_059abc12","line":428,"range":{"start_line":428,"start_character":3,"end_line":428,"end_character":35},"updated":"2019-06-28 15:01:15.000000000","message":"mock self.execute instead. This is mocking functionality not in the function being tested","commit_id":"5fbe083237d5096416d7f085401f891875997c22"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"dd852222c89032e49be2ec5a3989ec270b9fafb3","unresolved":false,"context_lines":[{"line_number":425,"context_line":"            popen, [\u0027podman\u0027, \u0027image\u0027, \u0027exists\u0027, \u0027one\u0027]"},{"line_number":426,"context_line":"        )"},{"line_number":427,"context_line":""},{"line_number":428,"context_line":"    @mock.patch(\u0027subprocess.Popen\u0027)"},{"line_number":429,"context_line":"    def test_container_exist(self, popen):"},{"line_number":430,"context_line":"        self.mock_execute(popen, \u0027\u0027, \u0027\u0027, 0)"},{"line_number":431,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"9fb8cfa7_5d9c0469","line":428,"range":{"start_line":428,"start_character":3,"end_line":428,"end_character":35},"in_reply_to":"9fb8cfa7_059abc12","updated":"2019-06-28 18:51:27.000000000","message":"yeah we can look at that but imho it should be done in a separated patch and for all the tests. Everything in this file uses mock_execute. A refactor should happen.","commit_id":"5fbe083237d5096416d7f085401f891875997c22"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"c144c960f4e812912847805a26b42ca2ec5e98c6","unresolved":false,"context_lines":[{"line_number":425,"context_line":"            popen, [\u0027podman\u0027, \u0027image\u0027, \u0027exists\u0027, \u0027one\u0027]"},{"line_number":426,"context_line":"        )"},{"line_number":427,"context_line":""},{"line_number":428,"context_line":"    @mock.patch(\u0027subprocess.Popen\u0027)"},{"line_number":429,"context_line":"    def test_container_exist(self, popen):"},{"line_number":430,"context_line":"        self.mock_execute(popen, \u0027\u0027, \u0027\u0027, 0)"},{"line_number":431,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"9fb8cfa7_d0577bc9","line":428,"range":{"start_line":428,"start_character":3,"end_line":428,"end_character":35},"in_reply_to":"9fb8cfa7_5d9c0469","updated":"2019-06-28 19:32:57.000000000","message":"meh fine","commit_id":"5fbe083237d5096416d7f085401f891875997c22"}]}
