Example #1
0
 def test_type_callback_setup(self):
     TestClass = self.get_callback_class()
     d = {
         '__type_callbacks__': [('void *', 'voidp_callback')],
         '__delayed_lookups__': {}
     }
     DelayedLookups.setup_named_callbacks(TestClass, d)
     self.assertFalse('__type_callbacks__' in d)
Example #2
0
 def test_type_callback_setup_bad(self):
     TestClass = self.get_callback_class()
     d = {
         '__type_callbacks__': ['void *', 'voidp_callback'],
         '__delayed_lookups__': {}
     }
     with self.assertRaises(ValueError):
         DelayedLookups.setup_named_callbacks(TestClass, d)
Example #3
0
 def test_minsymbol_callback_setup(self):
     TestClass = self.get_callback_class()
     d = {
         '__minsymbol_callbacks__': [('main', 'main_callback')],
         '__delayed_lookups__': {}
     }
     DelayedLookups.setup_named_callbacks(TestClass, d)
     self.assertFalse('__minsymbol_callbacks__' in d)
Example #4
0
 def test_minsymbol_callback_setup_bad(self):
     TestClass = self.get_callback_class()
     d = {
         '__minsymbol_callbacks__': ['main', 'main_callback'],
         '__delayed_lookups__': {}
     }
     with self.assertRaises(ValueError):
         DelayedLookups.setup_named_callbacks(TestClass, d)
 def test_minsymval_setup(self):
     d = {'__minsymvals__' : [ 'main' ]}
     DelayedLookups.setup_delayed_lookups_for_class('TestClass', d)
     self.assertFalse('__minsymvals__' in d)
     self.assertTrue('main' in d)
     self.assertTrue(isinstance(d['main'], ClassProperty))
     self.assertTrue('main' in d['__delayed_lookups__'])
     self.assertTrue(isinstance(d['__delayed_lookups__']['main'],
                                DelayedMinimalSymval))
Example #6
0
 def test_minsymval_setup(self):
     d = {'__minsymvals__': ['main']}
     DelayedLookups.setup_delayed_lookups_for_class('TestClass', d)
     self.assertFalse('__minsymvals__' in d)
     self.assertTrue('main' in d)
     self.assertTrue(isinstance(d['main'], ClassProperty))
     self.assertTrue('main' in d['__delayed_lookups__'])
     self.assertTrue(
         isinstance(d['__delayed_lookups__']['main'], DelayedMinimalSymval))
 def test_name_collision_attrs(self):
     class test_data(object):
         def __init__(self):
             self.name = 'foo'
         def get(self):
             pass
         def set(self, value):
             pass
     d = {'__delayed_lookups__' : {}}
     attr = test_data()
     DelayedLookups.add_lookup('TestClass', d, 'foo', attr)
     with self.assertRaises(NameError):
         DelayedLookups.add_lookup('TestClass', d, 'foo', attr)
Example #8
0
 def test_type_setup(self):
     d = {'__types__': ['void *', 'struct test']}
     DelayedLookups.setup_delayed_lookups_for_class('TestClass', d)
     self.assertFalse('__types__' in d)
     self.assertTrue('void_p_type' in d)
     self.assertTrue(isinstance(d['void_p_type'], ClassProperty))
     self.assertTrue('void_p_type' in d['__delayed_lookups__'])
     self.assertTrue(
         isinstance(d['__delayed_lookups__']['void_p_type'], DelayedType))
     self.assertTrue('test_type' in d)
     self.assertTrue(isinstance(d['test_type'], ClassProperty))
     self.assertTrue('test_type' in d['__delayed_lookups__'])
     self.assertTrue(
         isinstance(d['__delayed_lookups__']['test_type'], DelayedType))
 def test_type_setup(self):
     d = {'__types__' : [ 'void *', 'struct test' ] }
     DelayedLookups.setup_delayed_lookups_for_class('TestClass', d)
     self.assertFalse('__types__' in d)
     self.assertTrue('void_p_type' in d)
     self.assertTrue(isinstance(d['void_p_type'], ClassProperty))
     self.assertTrue('void_p_type' in d['__delayed_lookups__'])
     self.assertTrue(isinstance(d['__delayed_lookups__']['void_p_type'],
                                DelayedType))
     self.assertTrue('test_type' in d)
     self.assertTrue(isinstance(d['test_type'], ClassProperty))
     self.assertTrue('test_type' in d['__delayed_lookups__'])
     self.assertTrue(isinstance(d['__delayed_lookups__']['test_type'],
                                DelayedType))
Example #10
0
    def test_resolve_struct_middle_whitespace(self):
        spec = 'struct    test'

        (name, attrname, pointer) = DelayedLookups._resolve_type(spec)
        self.assertTrue(name == 'struct    test')
        self.assertTrue(attrname == 'test_type')
        self.assertFalse(pointer)
Example #11
0
    def test_resolve_char_pointer(self):
        spec = 'char *'

        (name, attrname, pointer) = DelayedLookups._resolve_type(spec)
        self.assertTrue(name == 'char')
        self.assertTrue(attrname == 'char_p_type')
        self.assertTrue(pointer)
Example #12
0
    def test_resolve_struct_normal_pointer(self):
        spec = 'struct test *'

        (name, attrname, pointer) = DelayedLookups._resolve_type(spec)
        self.assertTrue(name == 'struct test')
        self.assertTrue(attrname == 'test_p_type')
        self.assertTrue(pointer)
Example #13
0
    def test_resolve_struct_normal_pointer(self):
        spec = 'struct test *'

        (name, attrname, pointer) = DelayedLookups._resolve_type(spec)
        self.assertTrue(name == 'struct test')
        self.assertTrue(attrname == 'test_p_type')
        self.assertTrue(pointer)
Example #14
0
    def test_resolve_struct_middle_whitespace(self):
        spec = 'struct    test'

        (name, attrname, pointer) = DelayedLookups._resolve_type(spec)
        self.assertTrue(name == 'struct    test')
        self.assertTrue(attrname == 'test_type')
        self.assertFalse(pointer)
Example #15
0
    def test_resolve_char_pointer(self):
        spec = 'char *'

        (name, attrname, pointer) = DelayedLookups._resolve_type(spec)
        self.assertTrue(name == 'char')
        self.assertTrue(attrname == 'char_p_type')
        self.assertTrue(pointer)
Example #16
0
 def test_name_collision_reserved(self):
     d = {'__delayed_lookups__': {}}
     with self.assertRaises(NameError):
         DelayedLookups.setup_delayed_lookups_for_class('TestClass', d)
Example #17
0
 def test_type_callback_setup(self):
     TestClass = self.get_callback_class()
     d = {'__type_callbacks__' : [ ('void *', 'voidp_callback') ],
          '__delayed_lookups__' : {} }
     DelayedLookups.setup_named_callbacks(TestClass, d)
     self.assertFalse('__type_callbacks__' in d)
Example #18
0
 def test_type_callback_setup_bad(self):
     TestClass = self.get_callback_class()
     d = {'__type_callbacks__' : [ 'void *', 'voidp_callback' ],
          '__delayed_lookups__' : {} }
     with self.assertRaises(ValueError):
         DelayedLookups.setup_named_callbacks(TestClass, d)
Example #19
0
 def test_minsymbol_callback_setup(self):
     TestClass = self.get_callback_class()
     d = {'__minsymbol_callbacks__' : [ ('main', 'main_callback') ],
          '__delayed_lookups__' : {} }
     DelayedLookups.setup_named_callbacks(TestClass, d)
     self.assertFalse('__minsymbol_callbacks__' in d)
Example #20
0
 def test_minsymbol_callback_setup_bad(self):
     TestClass = self.get_callback_class()
     d = {'__minsymbol_callbacks__' : [ 'main', 'main_callback' ],
          '__delayed_lookups__' : {} }
     with self.assertRaises(ValueError):
         DelayedLookups.setup_named_callbacks(TestClass, d)
Example #21
0
 def __new__(cls, name, parents, dct):
     DelayedLookups.setup_delayed_lookups_for_class(name, dct)
     return type.__new__(cls, name, parents, dct)
Example #22
0
 def __new__(cls, name, parents, dct):
     DelayedLookups.setup_delayed_lookups_for_class(name, dct)
     return type.__new__(cls, name, parents, dct)
Example #23
0
 def test_name_collision_reserved(self):
     d = {'__delayed_lookups__' : {}}
     with self.assertRaises(NameError):
         DelayedLookups.setup_delayed_lookups_for_class('TestClass', d)
Example #24
0
 def __init__(cls, name, parents, dct):
     super(_CrashBaseMeta, cls).__init__(name, parents, dct)
     cls.setup_exports_for_class(cls, dct)
     DelayedLookups.setup_named_callbacks(cls, dct)
Example #25
0
 def test_symval_setup_bad(self):
     d = {'__symvals__': 'main'}
     with self.assertRaises(TypeError):
         DelayedLookups.setup_delayed_lookups_for_class('TestClass', d)
Example #26
0
 def __init__(cls, name, parents, dct):
     super(_CrashBaseMeta, cls).__init__(name, parents, dct)
     cls.setup_exports_for_class(cls, dct)
     DelayedLookups.setup_named_callbacks(cls, dct)
Example #27
0
 def test_symval_setup_bad(self):
     d = {'__symvals__' : 'main' }
     with self.assertRaises(TypeError):
         DelayedLookups.setup_delayed_lookups_for_class('TestClass', d)