25 lines
944 B
Python
25 lines
944 B
Python
import unittest
|
|
from llvm.core import (Module, Type, Constant, MetaData, MetaDataString)
|
|
from .support import TestCase, tests
|
|
|
|
class TestMetaData(TestCase):
|
|
# test module metadata
|
|
def test_metadata(self):
|
|
m = Module.new('a')
|
|
t = Type.int()
|
|
metadata = MetaData.get(m, [Constant.int(t, 100),
|
|
MetaDataString.get(m, 'abcdef'),
|
|
None])
|
|
MetaData.add_named_operand(m, 'foo', metadata)
|
|
self.assertEqual(MetaData.get_named_operands(m, 'foo'), [metadata])
|
|
self.assertEqual(MetaData.get_named_operands(m, 'bar'), [])
|
|
self.assertEqual(len(metadata.operands), 3)
|
|
self.assertEqual(metadata.operands[0].z_ext_value, 100)
|
|
self.assertEqual(metadata.operands[1].string, 'abcdef')
|
|
self.assertTrue(metadata.operands[2] is None)
|
|
|
|
tests.append(TestMetaData)
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|
|
|