diff --git a/git/cmd.py b/git/cmd.py index 22b5ea99e..f58e6df5b 100644 --- a/git/cmd.py +++ b/git/cmd.py @@ -450,7 +450,7 @@ def refresh(cls, path: Union[None, PathLike] = None) -> bool: ) if mode in warn: - _logger.critical("WARNING: %s", err) + _logger.critical(err) else: raise ImportError(err) else: diff --git a/test/test_git.py b/test/test_git.py index ea3d067ee..f12428f9e 100644 --- a/test/test_git.py +++ b/test/test_git.py @@ -321,17 +321,17 @@ def test_version(self): self.assertIsInstance(n, int) # END verify number types - def test_cmd_override(self): - with mock.patch.object( - type(self.git), - "GIT_PYTHON_GIT_EXECUTABLE", - osp.join("some", "path", "which", "doesn't", "exist", "gitbinary"), - ): - self.assertRaises(GitCommandNotFound, self.git.version) - def test_git_exc_name_is_git(self): self.assertEqual(self.git.git_exec_name, "git") + def test_cmd_override(self): + """Directly set bad GIT_PYTHON_GIT_EXECUTABLE causes git operations to raise.""" + bad_path = osp.join("some", "path", "which", "doesn't", "exist", "gitbinary") + with mock.patch.object(Git, "GIT_PYTHON_GIT_EXECUTABLE", bad_path): + with self.assertRaises(GitCommandNotFound) as ctx: + self.git.version() + self.assertEqual(ctx.exception.command, [bad_path, "version"]) + @ddt.data(("0",), ("q",), ("quiet",), ("s",), ("silence",), ("silent",), ("n",), ("none",)) def test_initial_refresh_from_bad_git_path_env_quiet(self, case): """In "q" mode, bad initial path sets "git" and is quiet.""" @@ -341,7 +341,7 @@ def test_initial_refresh_from_bad_git_path_env_quiet(self, case): "GIT_PYTHON_REFRESH": mode, } with _rollback_refresh(): - type(self.git).GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup. + Git.GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup. with mock.patch.dict(os.environ, set_vars): refresh() @@ -356,14 +356,14 @@ def test_initial_refresh_from_bad_git_path_env_warn(self, case): "GIT_PYTHON_REFRESH": mode, } with _rollback_refresh(): - type(self.git).GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup. + Git.GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup. with mock.patch.dict(os.environ, env_vars): with self.assertLogs(cmd.__name__, logging.CRITICAL) as ctx: refresh() self.assertEqual(len(ctx.records), 1) message = ctx.records[0].getMessage() - self.assertRegex(message, r"\AWARNING: Bad git executable.\n") + self.assertRegex(message, r"\ABad git executable.\n") self.assertEqual(self.git.GIT_PYTHON_GIT_EXECUTABLE, "git") @ddt.data(("2",), ("r",), ("raise",), ("e",), ("error",)) @@ -375,7 +375,7 @@ def test_initial_refresh_from_bad_git_path_env_error(self, case): "GIT_PYTHON_REFRESH": mode, } with _rollback_refresh(): - type(self.git).GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup. + Git.GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup. with mock.patch.dict(os.environ, env_vars): with self.assertRaisesRegex(ImportError, r"\ABad git executable.\n"): @@ -386,7 +386,7 @@ def test_initial_refresh_from_good_absolute_git_path_env(self): absolute_path = shutil.which("git") with _rollback_refresh(): - type(self.git).GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup. + Git.GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup. with mock.patch.dict(os.environ, {"GIT_PYTHON_GIT_EXECUTABLE": absolute_path}): refresh() @@ -397,8 +397,8 @@ def test_initial_refresh_from_good_relative_git_path_env(self): with _rollback_refresh(): # Set the fallback to a string that wouldn't work and isn't "git", so we are # more likely to detect if "git" is not set from the environment variable. - with mock.patch.object(type(self.git), "git_exec_name", ""): - type(self.git).GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup. + with mock.patch.object(Git, "git_exec_name", ""): + Git.GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup. # Now observe if setting the environment variable to "git" takes effect. with mock.patch.dict(os.environ, {"GIT_PYTHON_GIT_EXECUTABLE": "git"}): @@ -442,7 +442,7 @@ def test_refresh_from_good_relative_git_path_env(self): """Good relative path from environment is kept relative and set.""" with _rollback_refresh(): # Set as the executable name a string that wouldn't work and isn't "git". - type(self.git).GIT_PYTHON_GIT_EXECUTABLE = "" + Git.GIT_PYTHON_GIT_EXECUTABLE = "" # Now observe if setting the environment variable to "git" takes effect. with mock.patch.dict(os.environ, {"GIT_PYTHON_GIT_EXECUTABLE": "git"}): diff --git a/test/test_index.py b/test/test_index.py index f456f8be0..ffe71450d 100644 --- a/test/test_index.py +++ b/test/test_index.py @@ -174,7 +174,7 @@ def _decode(stdout): except UnicodeDecodeError: pass except LookupError as error: - _logger.warning("%s", str(error)) # Message already says "Unknown encoding:". + _logger.warning(str(error)) # Message already says "Unknown encoding:". # Assume UTF-8. If invalid, substitute Unicode replacement characters. return stdout.decode("utf-8", errors="replace")
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: