def test_init(self): simple = vs_cparse.ctorFromCSource(csrc_simple) nested = vs_cparse.ctorFromCSource(csrc_nested) bldr = vs_builder.VStructBuilder() bldr.addVStructCtor('pe.simple', simple) bldr.addVStructCtor('elf.nested', nested) self.assertEqual(set(['pe.simple', 'elf.nested']), set(bldr.getVStructNames())) bldr.delVStructCtor('elf.nested') self.assertEqual(['pe.simple'], bldr.getVStructNames())
def test_namespaces(self): bldr = vs_builder.VStructBuilder() subb = vs_builder.VStructBuilder() bldr.addVStructNamespace('subname', subb) bldr.addVStructNamespace('dupname', subb) self.assertTrue(bldr.hasVStructNamespace('subname')) self.assertEqual(set(bldr.getVStructNamespaces()), set([('subname', subb), ('dupname', subb)])) self.assertEqual(set(bldr.getVStructNamespaceNames()), set(['subname', 'dupname'])) nested = vs_cparse.ctorFromCSource(csrc_nested) bldr.addVStructCtor('foo', nested) self.assertEqual(bldr.getVStructCtorNames(), ['foo'])
def _mcb_ustruct(self, name, ssrc): # All meta values in the "ustruct" namespace are user defined # structure defintions in C. sname = name.split(':')[1] ctor = vs_cparse.ctorFromCSource(ssrc) self.vsbuilder.addVStructCtor(sname, ctor)
def _mcb_ustruct(self, name, ssrc): # All meta values in the "ustruct" namespace are user defined # structure defintions in C. sname = name.split(':')[1] ctor = vs_cparse.ctorFromCSource( ssrc ) self.vsbuilder.addVStructCtor( sname, ctor )