mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 10:26:10 +01:00 
			
		
		
		
	This file was used to select between the normal and fallback libfdt implementations. Now that we only have one, it is not needed. Drop it and fix up all users. Signed-off-by: Simon Glass <sjg@chromium.org>
		
			
				
	
	
		
			85 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| #
 | |
| # Copyright (c) 2016 Google, Inc
 | |
| # Written by Simon Glass <sjg@chromium.org>
 | |
| #
 | |
| # SPDX-License-Identifier:      GPL-2.0+
 | |
| #
 | |
| # Test for the fdt modules
 | |
| 
 | |
| import os
 | |
| import sys
 | |
| import tempfile
 | |
| import unittest
 | |
| 
 | |
| import fdt
 | |
| from fdt import FdtScan
 | |
| import fdt_util
 | |
| import tools
 | |
| 
 | |
| class TestFdt(unittest.TestCase):
 | |
|     @classmethod
 | |
|     def setUpClass(self):
 | |
|         self._binman_dir = os.path.dirname(os.path.realpath(sys.argv[0]))
 | |
|         self._indir = tempfile.mkdtemp(prefix='binmant.')
 | |
|         tools.PrepareOutputDir(self._indir, True)
 | |
| 
 | |
|     def TestFile(self, fname):
 | |
|         return os.path.join(self._binman_dir, 'test', fname)
 | |
| 
 | |
|     def GetCompiled(self, fname):
 | |
|         return fdt_util.EnsureCompiled(self.TestFile(fname))
 | |
| 
 | |
|     def _DeleteProp(self, dt):
 | |
|         node = dt.GetNode('/microcode/update@0')
 | |
|         node.DeleteProp('data')
 | |
| 
 | |
|     def testFdtNormal(self):
 | |
|         fname = self.GetCompiled('34_x86_ucode.dts')
 | |
|         dt = FdtScan(fname)
 | |
|         self._DeleteProp(dt)
 | |
| 
 | |
|     def testFdtNormalProp(self):
 | |
|         fname = self.GetCompiled('45_prop_test.dts')
 | |
|         dt = FdtScan(fname)
 | |
|         node = dt.GetNode('/binman/intel-me')
 | |
|         self.assertEquals('intel-me', node.name)
 | |
|         val = fdt_util.GetString(node, 'filename')
 | |
|         self.assertEquals(str, type(val))
 | |
|         self.assertEquals('me.bin', val)
 | |
| 
 | |
|         prop = node.props['intval']
 | |
|         self.assertEquals(fdt.TYPE_INT, prop.type)
 | |
|         self.assertEquals(3, fdt_util.GetInt(node, 'intval'))
 | |
| 
 | |
|         prop = node.props['intarray']
 | |
|         self.assertEquals(fdt.TYPE_INT, prop.type)
 | |
|         self.assertEquals(list, type(prop.value))
 | |
|         self.assertEquals(2, len(prop.value))
 | |
|         self.assertEquals([5, 6],
 | |
|                           [fdt_util.fdt32_to_cpu(val) for val in prop.value])
 | |
| 
 | |
|         prop = node.props['byteval']
 | |
|         self.assertEquals(fdt.TYPE_BYTE, prop.type)
 | |
|         self.assertEquals(chr(8), prop.value)
 | |
| 
 | |
|         prop = node.props['bytearray']
 | |
|         self.assertEquals(fdt.TYPE_BYTE, prop.type)
 | |
|         self.assertEquals(list, type(prop.value))
 | |
|         self.assertEquals(str, type(prop.value[0]))
 | |
|         self.assertEquals(3, len(prop.value))
 | |
|         self.assertEquals([chr(1), '#', '4'], prop.value)
 | |
| 
 | |
|         prop = node.props['longbytearray']
 | |
|         self.assertEquals(fdt.TYPE_INT, prop.type)
 | |
|         self.assertEquals(0x090a0b0c, fdt_util.GetInt(node, 'longbytearray'))
 | |
| 
 | |
|         prop = node.props['stringval']
 | |
|         self.assertEquals(fdt.TYPE_STRING, prop.type)
 | |
|         self.assertEquals('message2', fdt_util.GetString(node, 'stringval'))
 | |
| 
 | |
|         prop = node.props['stringarray']
 | |
|         self.assertEquals(fdt.TYPE_STRING, prop.type)
 | |
|         self.assertEquals(list, type(prop.value))
 | |
|         self.assertEquals(3, len(prop.value))
 | |
|         self.assertEquals(['another', 'multi-word', 'message'], prop.value)
 |