Exemple #1
0
    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())
Exemple #2
0
    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'])
Exemple #3
0
 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)
Exemple #4
0
 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 )