@@ -481,19 +481,19 @@ def shopt(self, name: str, value: bool):
481481 else :
482482 assert_bash_exec (self .bash , "shopt -u %s" % name )
483483
484- def write_variable (self , varname : str , new_value : str ):
484+ def write_variable (self , varname : str , new_value : str , quote : bool = True ):
485485 self ._save_variable (varname )
486- assert_bash_exec (
487- self . bash , "%s=%s" % ( varname , shlex .quote (str ( new_value )) )
488- )
486+ if quote :
487+ new_value = shlex .quote (new_value )
488+ assert_bash_exec ( self . bash , "%s=%s" % ( varname , new_value ) )
489489
490490 # TODO: We may restore the "export" attribute as well though it is
491491 # not currently tested in "diff_env"
492- def write_env (self , envname : str , new_value : str ):
492+ def write_env (self , envname : str , new_value : str , quote : bool = True ):
493493 self ._save_variable (envname )
494- assert_bash_exec (
495- self . bash , "export %s=%s" % ( envname , shlex .quote (str ( new_value )) )
496- )
494+ if quote :
495+ new_value = shlex .quote (new_value )
496+ assert_bash_exec ( self . bash , "export %s=%s" % ( envname , new_value ) )
497497
498498
499499def get_env (bash : pexpect .spawn ) -> List [str ]:
@@ -615,7 +615,7 @@ def assert_complete(
615615 bash_env .chdir (cwd )
616616
617617 for k , v in kwargs .get ("env" , {}).items ():
618- bash_env .write_env (k , v )
618+ bash_env .write_env (k , v , quote = False )
619619
620620 for k , v in kwargs .get ("shopt" , {}).items ():
621621 bash_env .shopt (k , v )
0 commit comments