mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-31 20:18:18 +00:00 
			
		
		
		
	If test_cat and test_xxd cannot create the required file, the test will be skipped, but this would result in an exception being raised in the finally block because the file didn't exist to be cleaned up. This caused the test to be marked as failed instead of skipped. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
		
			
				
	
	
		
			37 lines
		
	
	
		
			991 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			991 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| # SPDX-License-Identifier:      GPL-2.0+
 | |
| 
 | |
| """Fixture for cat command test
 | |
| """
 | |
| 
 | |
| import os
 | |
| import shutil
 | |
| from subprocess import check_call, CalledProcessError
 | |
| import pytest
 | |
| 
 | |
| @pytest.fixture(scope='session')
 | |
| def cat_data(u_boot_config):
 | |
|     """Set up a file system to be used in cat tests
 | |
| 
 | |
|     Args:
 | |
|         u_boot_config -- U-Boot configuration.
 | |
|     """
 | |
|     mnt_point = u_boot_config.persistent_data_dir + '/test_cat'
 | |
|     image_path = u_boot_config.persistent_data_dir + '/cat.img'
 | |
| 
 | |
|     try:
 | |
|         os.mkdir(mnt_point, mode = 0o755)
 | |
| 
 | |
|         with open(mnt_point + '/hello', 'w', encoding = 'ascii') as file:
 | |
|             file.write('hello world\n')
 | |
| 
 | |
|         check_call(f'virt-make-fs --partition=gpt --size=+1M --type=vfat {mnt_point} {image_path}',
 | |
|                    shell=True)
 | |
| 
 | |
|         yield image_path
 | |
|     except CalledProcessError:
 | |
|         pytest.skip('Setup failed')
 | |
|     finally:
 | |
|         shutil.rmtree(mnt_point)
 | |
|         if os.path.exists(image_path):
 | |
|             os.remove(image_path)
 |