Browse Source

dtoc: Test full 64-bit properties with FdtCellsToCpu()

At present this test does not check the upper 32 bits of the returned
value. Add some additional tests to cover this.

Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass 5 years ago
parent
commit
e66d318fef
1 changed files with 9 additions and 2 deletions
  1. 9 2
      tools/dtoc/test_fdt.py

+ 9 - 2
tools/dtoc/test_fdt.py

@@ -498,10 +498,17 @@ class TestFdtUtil(unittest.TestCase):
         self.assertEqual(2, fdt_util.fdt_cells_to_cpu(val, 1))
 
         dtb2 = fdt.FdtScan('tools/dtoc/dtoc_test_addr64.dts')
-        node2 = dtb2.GetNode('/test1')
-        val = node2.props['reg'].value
+        node1 = dtb2.GetNode('/test1')
+        val = node1.props['reg'].value
         self.assertEqual(0x1234, fdt_util.fdt_cells_to_cpu(val, 2))
 
+        node2 = dtb2.GetNode('/test2')
+        val = node2.props['reg'].value
+        self.assertEqual(0x1234567890123456, fdt_util.fdt_cells_to_cpu(val, 2))
+        self.assertEqual(0x9876543210987654, fdt_util.fdt_cells_to_cpu(val[2:],
+                                                                       2))
+        self.assertEqual(0x12345678, fdt_util.fdt_cells_to_cpu(val, 1))
+
     def testEnsureCompiled(self):
         """Test a degenerate case of this function"""
         dtb = fdt_util.EnsureCompiled('tools/dtoc/dtoc_test_simple.dts')