Lines Matching defs:self

65     def setUp(self):
66 self.dtb = fdt.FdtScan('tools/dtoc/dtoc_test_simple.dts')
68 def testFdt(self):
70 self.dtb.Scan()
71 root = self.dtb.GetRoot()
72 self.assertTrue(isinstance(root, fdt.Node))
74 def testGetNode(self):
76 node = self.dtb.GetNode('/spl-test')
77 self.assertTrue(isinstance(node, fdt.Node))
78 node = self.dtb.GetNode('/i2c@0/pmic@9')
79 self.assertTrue(isinstance(node, fdt.Node))
80 self.assertEqual('pmic@9', node.name)
81 self.assertIsNone(self.dtb.GetNode('/i2c@0/pmic@9/missing'))
83 def testFlush(self):
85 fname = self.dtb._fname
89 with self.assertRaises(IOError):
91 self.dtb.Flush()
95 def testPack(self):
97 self.dtb.Pack()
99 def testGetFdt(self):
101 self.assertTrue(isinstance(self.dtb.GetContents(), bytearray))
103 def testGetProps(self):
105 node = self.dtb.GetNode('/spl-test')
106 props = self.dtb.GetProps(node)
107 self.assertEqual(['boolval', 'bytearray', 'byteval', 'compatible',
112 def testCheckError(self):
114 with self.assertRaises(ValueError) as e:
116 self.assertIn('FDT_ERR_NOTFOUND: hello', str(e.exception))
118 def testGetFdt(self):
119 node = self.dtb.GetNode('/spl-test')
120 self.assertEqual(self.dtb, node.GetFdt())
133 def setUp(self):
134 self.dtb = fdt.FdtScan('tools/dtoc/dtoc_test_simple.dts')
135 self.node = self.dtb.GetNode('/spl-test')
137 def testOffset(self):
139 self.assertTrue(self.node.Offset() > 0)
141 def testDelete(self):
143 node2 = self.dtb.GetNode('/spl-test2')
145 self.node.DeleteProp('intval')
147 self.assertTrue(offset2 < offset1)
148 self.node.DeleteProp('intarray')
150 self.assertTrue(offset3 < offset2)
151 with self.assertRaises(libfdt.FdtException):
152 self.node.DeleteProp('missing')
154 def testDeleteGetOffset(self):
156 self.node.DeleteProp('intval')
157 prop, value = _GetPropertyValue(self.dtb, self.node, 'longbytearray')
158 self.assertEqual(prop.value, value)
160 def testFindNode(self):
162 node = self.dtb.GetRoot().FindNode('i2c@0')
163 self.assertEqual('i2c@0', node.name)
165 self.assertEqual('pmic@9', subnode.name)
166 self.assertEqual(None, node.FindNode('missing'))
168 def testRefreshMissingNode(self):
171 del self.dtb._root.subnodes[-1]
172 with self.assertRaises(ValueError) as e:
173 self.dtb.Refresh()
174 self.assertIn('Internal error, offset', str(e.exception))
176 def testRefreshExtraNode(self):
179 self.dtb.GetFdtObj().del_node(self.node.Offset())
180 with self.assertRaises(ValueError) as e:
181 self.dtb.Refresh()
182 self.assertIn('Internal error, node name mismatch '
185 def testRefreshMissingProp(self):
188 del self.node.props['notstring']
189 with self.assertRaises(ValueError) as e:
190 self.dtb.Refresh()
191 self.assertIn("Internal error, property 'notstring' missing, offset ",
194 def testLookupPhandle(self):
200 self.assertEqual(target, dtb.LookupPhandle(fdt32_to_cpu(prop.value)))
214 def setUp(self):
215 self.dtb = fdt.FdtScan('tools/dtoc/dtoc_test_simple.dts')
216 self.node = self.dtb.GetNode('/spl-test')
217 self.fdt = self.dtb.GetFdtObj()
219 def testMissingNode(self):
220 self.assertEqual(None, self.dtb.GetNode('missing'))
222 def testPhandle(self):
226 self.assertTrue(fdt32_to_cpu(prop.value) > 0)
228 def _ConvertProp(self, prop_name):
229 """Helper function to look up a property in self.node and return it
236 p = self.fdt.getprop(self.node.Offset(), prop_name)
237 return fdt.Prop(self.node, -1, prop_name, p)
239 def testMakeProp(self):
241 prop = self._ConvertProp('boolval')
242 self.assertEqual(fdt.TYPE_BOOL, prop.type)
243 self.assertEqual(True, prop.value)
245 prop = self._ConvertProp('intval')
246 self.assertEqual(fdt.TYPE_INT, prop.type)
247 self.assertEqual(1, fdt32_to_cpu(prop.value))
249 prop = self._ConvertProp('intarray')
250 self.assertEqual(fdt.TYPE_INT, prop.type)
252 self.assertEqual([2, 3, 4], val)
254 prop = self._ConvertProp('byteval')
255 self.assertEqual(fdt.TYPE_BYTE, prop.type)
256 self.assertEqual(5, ord(prop.value))
258 prop = self._ConvertProp('longbytearray')
259 self.assertEqual(fdt.TYPE_BYTE, prop.type)
261 self.assertEqual([9, 10, 11, 12, 13, 14, 15, 16, 17], val)
263 prop = self._ConvertProp('stringval')
264 self.assertEqual(fdt.TYPE_STRING, prop.type)
265 self.assertEqual('message', prop.value)
267 prop = self._ConvertProp('stringarray')
268 self.assertEqual(fdt.TYPE_STRING, prop.type)
269 self.assertEqual(['multi-word', 'message'], prop.value)
271 prop = self._ConvertProp('notstring')
272 self.assertEqual(fdt.TYPE_BYTE, prop.type)
274 self.assertEqual([0x20, 0x21, 0x22, 0x10, 0], val)
276 def testGetEmpty(self):
278 self.assertEqual(True, fdt.Prop.GetEmpty(fdt.TYPE_BOOL))
279 self.assertEqual(chr(0), fdt.Prop.GetEmpty(fdt.TYPE_BYTE))
280 self.assertEqual(chr(0) * 4, fdt.Prop.GetEmpty(fdt.TYPE_INT))
281 self.assertEqual('', fdt.Prop.GetEmpty(fdt.TYPE_STRING))
283 def testGetOffset(self):
285 prop, value = _GetPropertyValue(self.dtb, self.node, 'longbytearray')
286 self.assertEqual(prop.value, value)
288 def testWiden(self):
290 node2 = self.dtb.GetNode('/spl-test2')
291 prop = self.node.props['intval']
296 self.assertEqual(fdt.TYPE_INT, prop.type)
297 self.assertEqual(1, fdt32_to_cpu(prop.value))
300 prop2 = self.node.props['intarray']
302 self.assertEqual(fdt.TYPE_INT, prop.type)
303 self.assertTrue(isinstance(prop.value, list))
307 prop = self.node.props['longbytearray']
309 self.assertFalse(isinstance(prop2.value, list))
310 self.assertEqual(4, len(prop2.value))
312 self.assertTrue(isinstance(prop2.value, list))
313 self.assertEqual(9, len(prop2.value))
316 prop = self.node.props['stringval']
318 self.assertFalse(isinstance(prop.value, list))
319 self.assertEqual(7, len(prop.value))
321 self.assertTrue(isinstance(prop.value, list))
322 self.assertEqual(3, len(prop.value))
325 prop = self.node.props['stringarray']
327 self.assertTrue(isinstance(prop.value, list))
328 self.assertEqual(2, len(prop.value))
330 self.assertTrue(isinstance(prop.value, list))
331 self.assertEqual(3, len(prop.value))
333 def testAdd(self):
335 self.fdt.pack()
337 self.node.AddZeroProp('one')
338 self.node.AddZeroProp('two')
339 self.node.AddZeroProp('three')
340 self.dtb.Sync(auto_resize=True)
344 self.fdt.pack()
345 self.node.SetInt('one', 1)
346 self.node.SetInt('two', 2)
347 self.node.SetInt('three', 3)
348 self.dtb.Sync(auto_resize=False)
351 self.node.AddZeroProp('four')
352 with self.assertRaises(libfdt.FdtException) as e:
353 self.dtb.Sync(auto_resize=False)
354 self.assertIn('FDT_ERR_NOSPACE', str(e.exception))
355 self.dtb.Sync(auto_resize=True)
357 def testAddNode(self):
358 self.fdt.pack()
359 self.node.AddSubnode('subnode')
360 with self.assertRaises(libfdt.FdtException) as e:
361 self.dtb.Sync(auto_resize=False)
362 self.assertIn('FDT_ERR_NOSPACE', str(e.exception))
364 self.dtb.Sync(auto_resize=True)
365 offset = self.fdt.path_offset('/spl-test/subnode')
366 self.assertTrue(offset > 0)
368 def testAddMore(self):
370 self.node.AddZeroProp('one')
371 self.dtb.Sync(auto_resize=True)
372 data = self.fdt.getprop(self.node.Offset(), 'one')
373 self.assertEqual(0, fdt32_to_cpu(data))
375 self.node.SetInt('one', 1)
376 self.dtb.Sync(auto_resize=False)
377 data = self.fdt.getprop(self.node.Offset(), 'one')
378 self.assertEqual(1, fdt32_to_cpu(data))
381 self.node.AddString('string', val)
382 self.dtb.Sync(auto_resize=True)
383 data = self.fdt.getprop(self.node.Offset(), 'string')
384 self.assertEqual(val + '\0', data)
386 self.fdt.pack()
387 self.node.SetString('string', val + 'x')
388 with self.assertRaises(libfdt.FdtException) as e:
389 self.dtb.Sync(auto_resize=False)
390 self.assertIn('FDT_ERR_NOSPACE', str(e.exception))
391 self.node.SetString('string', val[:-1])
393 prop = self.node.props['string']
395 self.dtb.Sync(auto_resize=False)
396 data = self.fdt.getprop(self.node.Offset(), 'string')
397 self.assertEqual(val, data)
399 self.node.AddEmptyProp('empty', 5)
400 self.dtb.Sync(auto_resize=True)
401 prop = self.node.props['empty']
403 self.dtb.Sync(auto_resize=False)
404 data = self.fdt.getprop(self.node.Offset(), 'empty')
405 self.assertEqual(val, data)
407 self.node.SetData('empty', '123')
408 self.assertEqual('123', prop.bytes)
410 def testFromData(self):
411 dtb2 = fdt.Fdt.FromData(self.dtb.GetContents())
412 self.assertEqual(dtb2.GetContents(), self.dtb.GetContents())
414 self.node.AddEmptyProp('empty', 5)
415 self.dtb.Sync(auto_resize=True)
416 self.assertTrue(dtb2.GetContents() != self.dtb.GetContents())
434 def setUp(self):
435 self.dtb = fdt.FdtScan('tools/dtoc/dtoc_test_simple.dts')
436 self.node = self.dtb.GetNode('/spl-test')
438 def testGetInt(self):
439 self.assertEqual(1, fdt_util.GetInt(self.node, 'intval'))
440 self.assertEqual(3, fdt_util.GetInt(self.node, 'missing', 3))
442 with self.assertRaises(ValueError) as e:
443 self.assertEqual(3, fdt_util.GetInt(self.node, 'intarray'))
444 self.assertIn("property 'intarray' has list value: expecting a single "
447 def testGetString(self):
448 self.assertEqual('message', fdt_util.GetString(self.node, 'stringval'))
449 self.assertEqual('test', fdt_util.GetString(self.node, 'missing',
452 with self.assertRaises(ValueError) as e:
453 self.assertEqual(3, fdt_util.GetString(self.node, 'stringarray'))
454 self.assertIn("property 'stringarray' has list value: expecting a "
457 def testGetBool(self):
458 self.assertEqual(True, fdt_util.GetBool(self.node, 'boolval'))
459 self.assertEqual(False, fdt_util.GetBool(self.node, 'missing'))
460 self.assertEqual(True, fdt_util.GetBool(self.node, 'missing', True))
461 self.assertEqual(False, fdt_util.GetBool(self.node, 'missing', False))
463 def testGetByte(self):
464 self.assertEqual(5, fdt_util.GetByte(self.node, 'byteval'))
465 self.assertEqual(3, fdt_util.GetByte(self.node, 'missing', 3))
467 with self.assertRaises(ValueError) as e:
468 fdt_util.GetByte(self.node, 'longbytearray')
469 self.assertIn("property 'longbytearray' has list value: expecting a "
472 with self.assertRaises(ValueError) as e:
473 fdt_util.GetByte(self.node, 'intval')
474 self.assertIn("property 'intval' has length 4, expecting 1",
477 def testGetPhandleList(self):
480 self.assertEqual([1], fdt_util.GetPhandleList(node, 'clocks'))
482 self.assertEqual([1, 2, 11, 3, 12, 13, 1],
484 self.assertEqual(None, fdt_util.GetPhandleList(node, 'missing'))
486 def testGetDataType(self):
487 self.assertEqual(1, fdt_util.GetDatatype(self.node, 'intval', int))
488 self.assertEqual('message', fdt_util.GetDatatype(self.node, 'stringval',
490 with self.assertRaises(ValueError) as e:
491 self.assertEqual(3, fdt_util.GetDatatype(self.node, 'boolval',
493 def testFdtCellsToCpu(self):
494 val = self.node.props['intarray'].value
495 self.assertEqual(0, fdt_util.fdt_cells_to_cpu(val, 0))
496 self.assertEqual(2, fdt_util.fdt_cells_to_cpu(val, 1))
501 self.assertEqual(0x1234, fdt_util.fdt_cells_to_cpu(val, 2))
503 def testEnsureCompiled(self):
506 self.assertEqual(dtb, fdt_util.EnsureCompiled(dtb))
508 def testGetPlainBytes(self):
509 self.assertEqual('fred', fdt_util.get_plain_bytes('fred'))