|  | @@ -23,7 +23,7 @@ from ..crypto import bytes_to_long, num_aes_blocks
 | 
	
		
			
				|  |  |  from ..helpers import Manifest, EXIT_SUCCESS, EXIT_WARNING, EXIT_ERROR, st_atime_ns, st_mtime_ns
 | 
	
		
			
				|  |  |  from ..remote import RemoteRepository, PathNotAllowed
 | 
	
		
			
				|  |  |  from ..repository import Repository
 | 
	
		
			
				|  |  | -from . import BaseTestCase
 | 
	
		
			
				|  |  | +from . import BaseTestCase, changedir, environment_variable
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  try:
 | 
	
		
			
				|  |  |      import llfuse
 | 
	
	
		
			
				|  | @@ -42,35 +42,6 @@ except NameError:
 | 
	
		
			
				|  |  |      PermissionError = OSError
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -class changedir:
 | 
	
		
			
				|  |  | -    def __init__(self, dir):
 | 
	
		
			
				|  |  | -        self.dir = dir
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    def __enter__(self):
 | 
	
		
			
				|  |  | -        self.old = os.getcwd()
 | 
	
		
			
				|  |  | -        os.chdir(self.dir)
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    def __exit__(self, *args, **kw):
 | 
	
		
			
				|  |  | -        os.chdir(self.old)
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -class environment_variable:
 | 
	
		
			
				|  |  | -    def __init__(self, **values):
 | 
	
		
			
				|  |  | -        self.values = values
 | 
	
		
			
				|  |  | -        self.old_values = {}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    def __enter__(self):
 | 
	
		
			
				|  |  | -        for k, v in self.values.items():
 | 
	
		
			
				|  |  | -            self.old_values[k] = os.environ.get(k)
 | 
	
		
			
				|  |  | -            os.environ[k] = v
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    def __exit__(self, *args, **kw):
 | 
	
		
			
				|  |  | -        for k, v in self.old_values.items():
 | 
	
		
			
				|  |  | -            if v is None:
 | 
	
		
			
				|  |  | -                del os.environ[k]
 | 
	
		
			
				|  |  | -            else:
 | 
	
		
			
				|  |  | -                os.environ[k] = v
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  def exec_cmd(*args, archiver=None, fork=False, exe=None, **kw):
 | 
	
		
			
				|  |  |      if fork:
 | 
	
		
			
				|  |  |          try:
 |