Ejemplo n.º 1
0
def test_pycparser_describe_device_measure():
    obs = ad.pycparser_describe("device.c", "Device_measure", "func", ts=ts)
    exp = {  #'name': {'srcname': 'Device_measure', 'tarname': 'Device_measure'},
        "name": "Device_measure",
        "namespace": None,
        "signatures": {
            ("Device_measure", ("_0", ("uint32", "*"))): {
                "return": ("enum", "ErrorStatusTag", (("ERROR_OK", 0), ("ERROR_FAILED_INIT", 1))),
                "defaults": ((Arg.NONE, None),),
            },
            ("Device_measure", ("aiValue", ("uint32", "*"))): {
                "return": ("enum", "ErrorStatusTag", (("ERROR_OK", 0), ("ERROR_FAILED_INIT", 1))),
                "defaults": ((Arg.NONE, None),),
            },
            ("Device_measure", ("deviceNumber", "uchar"), ("aiValue", ("uint32", "*"))): {
                "return": ("enum", "ErrorStatusTag", (("ERROR_OK", 0), ("ERROR_FAILED_INIT", 1))),
                "defaults": ((Arg.NONE, None), (Arg.NONE, None)),
            },
            ("Device_measure", ("_0", "uchar"), ("_1", ("uint32", "*"))): {
                "return": ("enum", "ErrorStatusTag", (("ERROR_OK", 0), ("ERROR_FAILED_INIT", 1))),
                "defaults": ((Arg.NONE, None), (Arg.NONE, None)),
            },
        },
    }
    assert_equal_or_diff(obs, exp)
Ejemplo n.º 2
0
def test_pycparser_describe_device_measure():
    obs = ad.pycparser_describe('device.c', 'Device_measure', 'func', ts=ts)
    exp = {  #'name': {'srcname': 'Device_measure', 'tarname': 'Device_measure'},
        'name': 'Device_measure',
        'namespace': None,
        'signatures': {
            ('Device_measure', ('_0', ('uint32', '*'))): {
                'return': ('enum', 'ErrorStatusTag',
                           (('ERROR_OK', 0), ('ERROR_FAILED_INIT', 1))),
                'defaults': ((Arg.NONE, None), )
            },
            ('Device_measure', ('aiValue', ('uint32', '*'))): {
                'return': ('enum', 'ErrorStatusTag',
                           (('ERROR_OK', 0), ('ERROR_FAILED_INIT', 1))),
                'defaults': ((Arg.NONE, None), )
            },
            ('Device_measure', ('deviceNumber', 'uchar'), ('aiValue', ('uint32', '*'))):
            {
                'return': ('enum', 'ErrorStatusTag',
                           (('ERROR_OK', 0), ('ERROR_FAILED_INIT', 1))),
                'defaults': ((Arg.NONE, None), (Arg.NONE, None))
            },
            ('Device_measure', ('_0', 'uchar'), ('_1', ('uint32', '*'))): {
                'return': ('enum', 'ErrorStatusTag',
                           (('ERROR_OK', 0), ('ERROR_FAILED_INIT', 1))),
                'defaults': ((Arg.NONE, None), (Arg.NONE, None))
            },
        }
    }
    assert_equal_or_diff(obs, exp)
Ejemplo n.º 3
0
 def check(parser):
     goals = (
         ('class', ('Base', 'int32', 7, 0), exp_base_desc(parser)),
         ('class', ('Point', True, 'CA', 0), exp_point_desc),
         ('class', 'Toaster', exp_toaster_desc),
         ('func', 'simple', exp_simple_desc),
         # Verify that we pick up parameter names from definitions
         ('func', 'twice', exp_twice_desc),
         # Verify that the first parameter name declaration wins
         ('func', 'conflict', exp_conflict_desc),
         ('func', ('lasso', 17, 'int32', 'float32'), exp_lasso_desc(17)),
         ('func', ('lasso', 18, 'int32', 'float32'), exp_lasso_desc(18)),
         ('class', 'Default', exp_default_desc),
         ('class', 'NoDefaultBase', exp_nodefault_base_desc),
         ('class', 'NoDefault', exp_nodefault_desc),
         ('var', 'Choices', exp_choices_desc))
     for kind, name, exp in goals:
         obs = ad.describe(fname,
                           name=name,
                           kind=kind,
                           parsers=parser,
                           builddir=buildbase + '-' + parser,
                           verbose=False,
                           ts=ts,
                           clang_includes=clang_includes)
         assert_equal_or_diff(obs, exp)
Ejemplo n.º 4
0
def test_pycparser_describe_device_measure():
    obs = ad.pycparser_describe('device.c', 'Device_measure', 'func', ts=ts)
    exp = {#'name': {'srcname': 'Device_measure', 'tarname': 'Device_measure'},
           'name': 'Device_measure',
           'namespace': None,
           'signatures': {
            ('Device_measure', ('_0', ('uint32', '*'))): {
                'return': ('enum', 'ErrorStatusTag', (('ERROR_OK', 0), 
                          ('ERROR_FAILED_INIT', 1))),
                'defaults': ((Arg.NONE, None),)},
            ('Device_measure', ('aiValue', ('uint32', '*'))): {
                'return': ('enum', 'ErrorStatusTag', (('ERROR_OK', 0), 
                          ('ERROR_FAILED_INIT', 1))),
                'defaults': ((Arg.NONE, None),)},
            ('Device_measure', ('deviceNumber', 'uchar'), 
                               ('aiValue', ('uint32', '*'))): {
                'return': ('enum', 'ErrorStatusTag', (('ERROR_OK', 0), 
                          ('ERROR_FAILED_INIT', 1))),
                'defaults': ((Arg.NONE, None), (Arg.NONE, None))},
            ('Device_measure', ('_0', 'uchar'), 
                               ('_1', ('uint32', '*'))): {
                'return': ('enum', 'ErrorStatusTag', (('ERROR_OK', 0), 
                          ('ERROR_FAILED_INIT', 1))),
                'defaults': ((Arg.NONE, None), (Arg.NONE, None))},
            }
           }
    assert_equal_or_diff(obs, exp)
Ejemplo n.º 5
0
 def check(parser):
     goals = (
         ("class", ("Base", "int32", 7, 0), exp_base_desc(parser)),
         ("class", ("Point", True, "CA", 0), exp_point_desc),
         ("class", "Toaster", exp_toaster_desc),
         ("func", "simple", exp_simple_desc),
         # Verify that we pick up parameter names from definitions
         ("func", "twice", exp_twice_desc),
         # Verify that the first parameter name declaration wins
         ("func", "conflict", exp_conflict_desc),
         ("func", ("lasso", 17, "int32", "float32"), exp_lasso_desc(17)),
         ("func", ("lasso", 18, "int32", "float32"), exp_lasso_desc(18)),
         ("class", "Default", exp_default_desc),
         ("class", "NoDefaultBase", exp_nodefault_base_desc),
         ("class", "NoDefault", exp_nodefault_desc),
         ("var", "Choices", exp_choices_desc),
     )
     for kind, name, exp in goals:
         obs = ad.describe(
             fname,
             name=name,
             kind=kind,
             parsers=parser,
             builddir=buildbase + "-" + parser,
             verbose=False,
             ts=ts,
             clang_includes=clang_includes,
         )
         assert_equal_or_diff(obs, exp)
Ejemplo n.º 6
0
def test_pycparser_describe_device_init():
    obs = ad.pycparser_describe('device.c', 'Device_Init', 'func', ts=ts)
    exp = {#'name': {'srcname': 'Device_Init', 'tarname': 'Device_Init'},
           'name': 'Device_Init',
           'namespace': None,
           'signatures': {
            ('Device_Init', ('_0', ('DeviceParamTag', '*'))): {
                'return': ('enum', 'ErrorStatusTag', (('ERROR_OK', 0), 
                                                      ('ERROR_FAILED_INIT', 1))),
                'defaults': ((Arg.NONE, None),)},
            ('Device_Init', ('param', ('DeviceParamTag', '*'))): {
                'return': ('enum', 'ErrorStatusTag', (('ERROR_OK', 0), 
                                                      ('ERROR_FAILED_INIT', 1))),
                'defaults': ((Arg.NONE, None),)},
            }
           }
    assert_equal_or_diff(obs, exp)
Ejemplo n.º 7
0
def test_pycparser_describe_device_init():
    obs = ad.pycparser_describe("device.c", "Device_Init", "func", ts=ts)
    exp = {  #'name': {'srcname': 'Device_Init', 'tarname': 'Device_Init'},
        "name": "Device_Init",
        "namespace": None,
        "signatures": {
            ("Device_Init", ("_0", ("DeviceParamTag", "*"))): {
                "return": ("enum", "ErrorStatusTag", (("ERROR_OK", 0), ("ERROR_FAILED_INIT", 1))),
                "defaults": ((Arg.NONE, None),),
            },
            ("Device_Init", ("param", ("DeviceParamTag", "*"))): {
                "return": ("enum", "ErrorStatusTag", (("ERROR_OK", 0), ("ERROR_FAILED_INIT", 1))),
                "defaults": ((Arg.NONE, None),),
            },
        },
    }
    assert_equal_or_diff(obs, exp)
Ejemplo n.º 8
0
def test_pycparser_describe_device_init():
    obs = ad.pycparser_describe('device.c', 'Device_Init', 'func', ts=ts)
    exp = {  #'name': {'srcname': 'Device_Init', 'tarname': 'Device_Init'},
        'name': 'Device_Init',
        'namespace': None,
        'signatures': {
            ('Device_Init', ('_0', ('DeviceParamTag', '*'))): {
                'return': ('enum', 'ErrorStatusTag',
                           (('ERROR_OK', 0), ('ERROR_FAILED_INIT', 1))),
                'defaults': ((Arg.NONE, None), )
            },
            ('Device_Init', ('param', ('DeviceParamTag', '*'))): {
                'return': ('enum', 'ErrorStatusTag',
                           (('ERROR_OK', 0), ('ERROR_FAILED_INIT', 1))),
                'defaults': ((Arg.NONE, None), )
            },
        }
    }
    assert_equal_or_diff(obs, exp)
Ejemplo n.º 9
0
def test_pycparser_describe_device_descriptor_tag():
    ts.register_class('DeviceDescriptorTag')
    obs = ad.pycparser_describe('device.c', 'DeviceDescriptorTag', 'class', ts=ts)
    exp = {#'name': {'srcname': 'DeviceDescriptorTag', 'tarname': 'DeviceDescriptorTag'},
           'name': 'DeviceDescriptorTag',
           'type': 'DeviceDescriptorTag',
           'namespace': None,
           'construct': 'struct',
           'parents': [],
           'attrs': {
            'deviceNumber': 'uchar',
            'deviceMeasurement': ('function_pointer', (('_0', ('uint32', '*')),), 
                                    ('enum', 'ErrorStatusTag', (
                                        ('ERROR_OK', 0),
                                        ('ERROR_FAILED_INIT', 1)))),
            },
           'methods': {},
           }
    assert_equal_or_diff(obs, exp)
Ejemplo n.º 10
0
 def check(parser):
     goals = (('class', ('Base', 'int32', 7, 0), exp_base_desc(parser)),
              ('class', ('Point', True, 'CA', 0), exp_point_desc),
              ('class', 'Toaster', exp_toaster_desc),
              ('func', 'simple', exp_simple_desc),
              # Verify that we pick up parameter names from definitions
              ('func', 'twice', exp_twice_desc), 
              # Verify that the first parameter name declaration wins
              ('func', 'conflict', exp_conflict_desc), 
              ('func', ('lasso', 17, 'int32', 'float32'), exp_lasso_desc(17)),
              ('func', ('lasso', 18, 'int32', 'float32'), exp_lasso_desc(18)),
              ('class', 'Default', exp_default_desc),
              ('class', 'NoDefaultBase', exp_nodefault_base_desc),
              ('class', 'NoDefault', exp_nodefault_desc),
              ('var', 'Choices', exp_choices_desc))
     for kind, name, exp in goals:
         obs = ad.describe(fname, name=name, kind=kind, parsers=parser, 
                           builddir=buildbase + '-' + parser, verbose=False, 
                           ts=ts, clang_includes=clang_includes)
         assert_equal_or_diff(obs, exp)
Ejemplo n.º 11
0
def test_pycparser_describe_device_descriptor_tag():
    ts.register_class("DeviceDescriptorTag")
    obs = ad.pycparser_describe("device.c", "DeviceDescriptorTag", "class", ts=ts)
    exp = {  #'name': {'srcname': 'DeviceDescriptorTag', 'tarname': 'DeviceDescriptorTag'},
        "name": "DeviceDescriptorTag",
        "type": "DeviceDescriptorTag",
        "namespace": None,
        "construct": "struct",
        "parents": [],
        "attrs": {
            "deviceNumber": "uchar",
            "deviceMeasurement": (
                "function_pointer",
                (("_0", ("uint32", "*")),),
                ("enum", "ErrorStatusTag", (("ERROR_OK", 0), ("ERROR_FAILED_INIT", 1))),
            ),
        },
        "methods": {},
    }
    assert_equal_or_diff(obs, exp)
Ejemplo n.º 12
0
 def check_all(parser):
     obs_var, obs_fun, obs_cls = autoall.findall(filename, parsers=parser, 
                                                 builddir=buildbase + '-' + parser,
                                                 clang_includes=clang_includes)
     assert_equal_or_diff(obs_var, exp_var)
     assert_equal_or_diff(obs_fun, exp_fun)
     assert_equal_or_diff(obs_cls, exp_cls)
Ejemplo n.º 13
0
def test_pycparser_describe_device_descriptor_tag():
    ts.register_class('DeviceDescriptorTag')
    obs = ad.pycparser_describe('device.c',
                                'DeviceDescriptorTag',
                                'class',
                                ts=ts)
    exp = {#'name': {'srcname': 'DeviceDescriptorTag', 'tarname': 'DeviceDescriptorTag'},
           'name': 'DeviceDescriptorTag',
           'type': 'DeviceDescriptorTag',
           'namespace': None,
           'construct': 'struct',
           'parents': [],
           'attrs': {
            'deviceNumber': 'uchar',
            'deviceMeasurement': ('function_pointer', (('_0', ('uint32', '*')),),
                                    ('enum', 'ErrorStatusTag', (
                                        ('ERROR_OK', 0),
                                        ('ERROR_FAILED_INIT', 1)))),
            },
           'methods': {},
           }
    assert_equal_or_diff(obs, exp)
Ejemplo n.º 14
0
def test_merge_descriptions():
    obs = ad.merge_descriptions([exp_merge_desc, meta_merge_desc])
    exp = full_merge_desc
    assert_equal_or_diff(obs, exp)
Ejemplo n.º 15
0
def test_merge_descriptions():
    obs = ad.merge_descriptions([exp_merge_desc, meta_merge_desc])
    exp = full_merge_desc
    assert_equal_or_diff(obs, exp)