47 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
| #
 | |
| # Copyright (c) 2017 Google, Inc
 | |
| # Written by Simon Glass <sjg@chromium.org>
 | |
| #
 | |
| # SPDX-License-Identifier:      GPL-2.0+
 | |
| #
 | |
| # Test for the image module
 | |
| 
 | |
| import unittest
 | |
| 
 | |
| from image import Image
 | |
| from elf_test import capture_sys_output
 | |
| 
 | |
| class TestImage(unittest.TestCase):
 | |
|     def testInvalidFormat(self):
 | |
|         image = Image('name', 'node', test=True)
 | |
|         with self.assertRaises(ValueError) as e:
 | |
|             image.LookupSymbol('_binman_something_prop_', False, 'msg')
 | |
|         self.assertIn(
 | |
|             "msg: Symbol '_binman_something_prop_' has invalid format",
 | |
|             str(e.exception))
 | |
| 
 | |
|     def testMissingSymbol(self):
 | |
|         image = Image('name', 'node', test=True)
 | |
|         image._entries = {}
 | |
|         with self.assertRaises(ValueError) as e:
 | |
|             image.LookupSymbol('_binman_type_prop_pname', False, 'msg')
 | |
|         self.assertIn("msg: Entry 'type' not found in list ()",
 | |
|                       str(e.exception))
 | |
| 
 | |
|     def testMissingSymbolOptional(self):
 | |
|         image = Image('name', 'node', test=True)
 | |
|         image._entries = {}
 | |
|         with capture_sys_output() as (stdout, stderr):
 | |
|             val = image.LookupSymbol('_binman_type_prop_pname', True, 'msg')
 | |
|         self.assertEqual(val, None)
 | |
|         self.assertEqual("Warning: msg: Entry 'type' not found in list ()\n",
 | |
|                          stderr.getvalue())
 | |
|         self.assertEqual('', stdout.getvalue())
 | |
| 
 | |
|     def testBadProperty(self):
 | |
|         image = Image('name', 'node', test=True)
 | |
|         image._entries = {'u-boot': 1}
 | |
|         with self.assertRaises(ValueError) as e:
 | |
|             image.LookupSymbol('_binman_u_boot_prop_bad', False, 'msg')
 | |
|         self.assertIn("msg: No such property 'bad", str(e.exception))
 |