@@ -3152,16 +3152,12 @@ def run_pdb_script(self, script, commands,
3152
3152
self .addCleanup (os_helper .unlink , '.pdbrc' )
3153
3153
self .addCleanup (os_helper .unlink , filename )
3154
3154
3155
- homesave = None
3156
- if remove_home :
3157
- homesave = os .environ .pop ('HOME' , None )
3158
- try :
3155
+ with os_helper .EnvironmentVarGuard () as env :
3156
+ if remove_home :
3157
+ env .unset ('HOME' )
3159
3158
if script_args is None :
3160
3159
script_args = []
3161
3160
stdout , stderr = self ._run_pdb ([filename ] + script_args , commands , expected_returncode , extra_env )
3162
- finally :
3163
- if homesave is not None :
3164
- os .environ ['HOME' ] = homesave
3165
3161
return stdout , stderr
3166
3162
3167
3163
def run_pdb_module (self , script , commands ):
@@ -3585,17 +3581,14 @@ def test_readrc_kwarg(self):
3585
3581
self .assertIn ("NameError: name 'invalid' is not defined" , stdout )
3586
3582
3587
3583
def test_readrc_homedir (self ):
3588
- save_home = os . environ . pop ( "HOME" , None )
3589
- with os_helper . temp_dir () as temp_dir , patch ( "os.path.expanduser" ):
3590
- rc_path = os . path . join ( temp_dir , ".pdbrc" )
3591
- os .path .expanduser . return_value = rc_path
3592
- try :
3584
+ with os_helper . EnvironmentVarGuard () as env :
3585
+ env . unset ( "HOME" )
3586
+ with os_helper . temp_dir () as temp_dir , patch ( "os.path.expanduser" ):
3587
+ rc_path = os .path .join ( temp_dir , ".pdbrc" )
3588
+ os . path . expanduser . return_value = rc_path
3593
3589
with open (rc_path , "w" ) as f :
3594
3590
f .write ("invalid" )
3595
3591
self .assertEqual (pdb .Pdb ().rcLines [0 ], "invalid" )
3596
- finally :
3597
- if save_home is not None :
3598
- os .environ ["HOME" ] = save_home
3599
3592
3600
3593
def test_header (self ):
3601
3594
stdout = StringIO ()
0 commit comments