2 # Copyright (c) 2016 Google, Inc
3 # Written by Simon Glass <sjg@chromium.org>
5 # SPDX-License-Identifier: GPL-2.0+
7 # Test for the fdt modules
14 from fdt_select import FdtScan
18 class TestFdt(unittest.TestCase):
21 self._binman_dir = os.path.dirname(os.path.realpath(sys.argv[0]))
22 self._indir = tempfile.mkdtemp(prefix='binmant.')
23 tools.PrepareOutputDir(self._indir, True)
25 def TestFile(self, fname):
26 return os.path.join(self._binman_dir, 'test', fname)
28 def GetCompiled(self, fname):
29 return fdt_util.EnsureCompiled(self.TestFile(fname))
31 def _DeleteProp(self, fdt):
32 node = fdt.GetNode('/microcode/update@0')
33 node.DeleteProp('data')
35 def testFdtNormal(self):
36 fname = self.GetCompiled('34_x86_ucode.dts')
40 def testFdtFallback(self):
41 fname = self.GetCompiled('34_x86_ucode.dts')
42 fdt = FdtScan(fname, True)
43 fdt.GetProp('/microcode/update@0', 'data')
44 self.assertEqual('fred',
45 fdt.GetProp('/microcode/update@0', 'none', default='fred'))
46 self.assertEqual('12345678 12345679',
47 fdt.GetProp('/microcode/update@0', 'data', typespec='x'))