out = out << 32 | fdt32_to_cpu(val[1])
return out
-def EnsureCompiled(fname):
+def EnsureCompiled(fname, capture_stderr=False):
"""Compile an fdt .dts source file into a .dtb binary blob if needed.
Args:
args.extend(search_list)
args.append(dts_input)
dtc = os.environ.get('DTC') or 'dtc'
- command.Run(dtc, *args)
+ command.Run(dtc, *args, capture_stderr=capture_stderr)
return dtb_output
def GetInt(node, propname, default=None):
'''
-def get_dtb_file(dts_fname):
+
+def get_dtb_file(dts_fname, capture_stderr=False):
"""Compile a .dts file to a .dtb
Args:
dts_fname: Filename of .dts file in the current directory
+ capture_stderr: True to capture and discard stderr output
Returns:
Filename of compiled file in output directory
"""
- return fdt_util.EnsureCompiled(os.path.join(our_path, dts_fname))
+ return fdt_util.EnsureCompiled(os.path.join(our_path, dts_fname),
+ capture_stderr=capture_stderr)
class TestDtoc(unittest.TestCase):
def test_bad_reg(self):
"""Test that a reg property with an invalid type generates an error"""
- dtb_file = get_dtb_file('dtoc_test_bad_reg.dts')
+ # Capture stderr since dtc will emit warnings for this file
+ dtb_file = get_dtb_file('dtoc_test_bad_reg.dts', capture_stderr=True)
output = tools.GetOutputFilename('output')
with self.assertRaises(ValueError) as e:
dtb_platdata.run_steps(['struct'], dtb_file, False, output)
def test_bad_reg2(self):
"""Test that a reg property with an invalid cell count is detected"""
- dtb_file = get_dtb_file('dtoc_test_bad_reg2.dts')
+ # Capture stderr since dtc will emit warnings for this file
+ dtb_file = get_dtb_file('dtoc_test_bad_reg2.dts', capture_stderr=True)
output = tools.GetOutputFilename('output')
with self.assertRaises(ValueError) as e:
dtb_platdata.run_steps(['struct'], dtb_file, False, output)