@@ -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" }):
0 commit comments