@@ -321,17 +321,17 @@ def test_version(self):
321321self .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-
332324def test_git_exc_name_is_git (self ):
333325self .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" ,))
336336def 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 }
343343with _rollback_refresh ():
344- type( self . git ) .GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
344+ Git .GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
345345
346346with mock .patch .dict (os .environ ,set_vars ):
347347refresh ()
@@ -356,14 +356,14 @@ def test_initial_refresh_from_bad_git_path_env_warn(self, case):
356356"GIT_PYTHON_REFRESH" :mode ,
357357 }
358358with _rollback_refresh ():
359- type( self . git ) .GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
359+ Git .GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
360360
361361with mock .patch .dict (os .environ ,env_vars ):
362362with self .assertLogs (cmd .__name__ ,logging .CRITICAL )as ctx :
363363refresh ()
364364self .assertEqual (len (ctx .records ),1 )
365365message = ctx .records [0 ].getMessage ()
366- self .assertRegex (message ,r"\AWARNING: Bad git executable.\n" )
366+ self .assertRegex (message ,r"\ABad git executable.\n" )
367367self .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 }
377377with _rollback_refresh ():
378- type( self . git ) .GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
378+ Git .GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
379379
380380with mock .patch .dict (os .environ ,env_vars ):
381381with self .assertRaisesRegex (ImportError ,r"\ABad git executable.\n" ):
@@ -386,7 +386,7 @@ def test_initial_refresh_from_good_absolute_git_path_env(self):
386386absolute_path = shutil .which ("git" )
387387
388388with _rollback_refresh ():
389- type( self . git ) .GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
389+ Git .GIT_PYTHON_GIT_EXECUTABLE = None # Simulate startup.
390390
391391with mock .patch .dict (os .environ , {"GIT_PYTHON_GIT_EXECUTABLE" :absolute_path }):
392392refresh ()
@@ -397,8 +397,8 @@ def test_initial_refresh_from_good_relative_git_path_env(self):
397397with _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.
404404with 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."""
443443with _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.
448448with mock .patch .dict (os .environ , {"GIT_PYTHON_GIT_EXECUTABLE" :"git" }):