Skip to content

Commit 3749037

Browse files
authored
Merge pull request #1816 from EliahKagan/refresh-format
Omit warning prefix in "Bad git executable" message
2 parents db6fb90 + 4b86993 commit 3749037

File tree

3 files changed

+18
-18
lines changed

3 files changed

+18
-18
lines changed

Diff for: git/cmd.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,7 @@ def refresh(cls, path: Union[None, PathLike] = None) -> bool:
450450
)
451451

452452
if mode in warn:
453-
_logger.critical("WARNING: %s", err)
453+
_logger.critical(err)
454454
else:
455455
raise ImportError(err)
456456
else:

Diff for: test/test_git.py

+16-16
Original file line numberDiff line numberDiff line change
@@ -321,17 +321,17 @@ def test_version(self):
321321
self.assertIsInstance(n, int)
322322
# END verify number types
323323

324-
def test_cmd_override(self):
325-
with mock.patch.object(
326-
type(self.git),
327-
"GIT_PYTHON_GIT_EXECUTABLE",
328-
osp.join("some", "path", "which", "doesn't", "exist", "gitbinary"),
329-
):
330-
self.assertRaises(GitCommandNotFound, self.git.version)
331-
332324
def test_git_exc_name_is_git(self):
333325
self.assertEqual(self.git.git_exec_name, "git")
334326

327+
def test_cmd_override(self):
328+
"""Directly set bad GIT_PYTHON_GIT_EXECUTABLE causes git operations to raise."""
329+
bad_path = osp.join("some", "path", "which", "doesn't", "exist", "gitbinary")
330+
with mock.patch.object(Git, "GIT_PYTHON_GIT_EXECUTABLE", bad_path):
331+
with self.assertRaises(GitCommandNotFound) as ctx:
332+
self.git.version()
333+
self.assertEqual(ctx.exception.command, [bad_path, "version"])
334+
335335
@ddt.data(("0",), ("q",), ("quiet",), ("s",), ("silence",), ("silent",), ("n",), ("none",))
336336
def test_initial_refresh_from_bad_git_path_env_quiet(self, case):
337337
"""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):
341341
"GIT_PYTHON_REFRESH": mode,
342342
}
343343
with _rollback_refresh():
344-
type(self.git).GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
344+
Git.GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
345345

346346
with mock.patch.dict(os.environ, set_vars):
347347
refresh()
@@ -356,14 +356,14 @@ def test_initial_refresh_from_bad_git_path_env_warn(self, case):
356356
"GIT_PYTHON_REFRESH": mode,
357357
}
358358
with _rollback_refresh():
359-
type(self.git).GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
359+
Git.GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
360360

361361
with mock.patch.dict(os.environ, env_vars):
362362
with self.assertLogs(cmd.__name__, logging.CRITICAL) as ctx:
363363
refresh()
364364
self.assertEqual(len(ctx.records), 1)
365365
message = ctx.records[0].getMessage()
366-
self.assertRegex(message, r"\AWARNING: Bad git executable.\n")
366+
self.assertRegex(message, r"\ABad git executable.\n")
367367
self.assertEqual(self.git.GIT_PYTHON_GIT_EXECUTABLE, "git")
368368

369369
@ddt.data(("2",), ("r",), ("raise",), ("e",), ("error",))
@@ -375,7 +375,7 @@ def test_initial_refresh_from_bad_git_path_env_error(self, case):
375375
"GIT_PYTHON_REFRESH": mode,
376376
}
377377
with _rollback_refresh():
378-
type(self.git).GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
378+
Git.GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
379379

380380
with mock.patch.dict(os.environ, env_vars):
381381
with self.assertRaisesRegex(ImportError, r"\ABad git executable.\n"):
@@ -386,7 +386,7 @@ def test_initial_refresh_from_good_absolute_git_path_env(self):
386386
absolute_path = shutil.which("git")
387387

388388
with _rollback_refresh():
389-
type(self.git).GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
389+
Git.GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
390390

391391
with mock.patch.dict(os.environ, {"GIT_PYTHON_GIT_EXECUTABLE": absolute_path}):
392392
refresh()
@@ -397,8 +397,8 @@ def test_initial_refresh_from_good_relative_git_path_env(self):
397397
with _rollback_refresh():
398398
# Set the fallback to a string that wouldn't work and isn't "git", so we are
399399
# more likely to detect if "git" is not set from the environment variable.
400-
with mock.patch.object(type(self.git), "git_exec_name", ""):
401-
type(self.git).GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
400+
with mock.patch.object(Git, "git_exec_name", ""):
401+
Git.GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
402402

403403
# Now observe if setting the environment variable to "git" takes effect.
404404
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):
442442
"""Good relative path from environment is kept relative and set."""
443443
with _rollback_refresh():
444444
# Set as the executable name a string that wouldn't work and isn't "git".
445-
type(self.git).GIT_PYTHON_GIT_EXECUTABLE = ""
445+
Git.GIT_PYTHON_GIT_EXECUTABLE = ""
446446

447447
# Now observe if setting the environment variable to "git" takes effect.
448448
with mock.patch.dict(os.environ, {"GIT_PYTHON_GIT_EXECUTABLE": "git"}):

Diff for: test/test_index.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ def _decode(stdout):
174174
except UnicodeDecodeError:
175175
pass
176176
except LookupError as error:
177-
_logger.warning("%s", str(error)) # Message already says "Unknown encoding:".
177+
_logger.warning(str(error)) # Message already says "Unknown encoding:".
178178

179179
# Assume UTF-8. If invalid, substitute Unicode replacement characters.
180180
return stdout.decode("utf-8", errors="replace")

0 commit comments

Comments
 (0)