[python-bindings] Added bindings for LLVMContextRef and a test for creating a new...
[oota-llvm.git] / bindings / python / llvm / tests / test_core.py
1 from .base import TestBase
2 from ..core import OpCode
3 from ..core import MemoryBuffer
4 from ..core import PassRegistry
5 from ..core import Context
6
7 class TestCore(TestBase):
8     def test_opcode(self):
9         self.assertTrue(hasattr(OpCode, 'Ret'))
10         self.assertTrue(isinstance(OpCode.Ret, OpCode))
11         self.assertEqual(OpCode.Ret.value, 1)
12
13         op = OpCode.from_value(1)
14         self.assertTrue(isinstance(op, OpCode))
15         self.assertEqual(op, OpCode.Ret)
16
17     def test_memory_buffer_create_from_file(self):
18         source = self.get_test_file()
19
20         MemoryBuffer(filename=source)
21
22     def test_memory_buffer_failing(self):
23         with self.assertRaises(Exception):
24             MemoryBuffer(filename="/hopefully/this/path/doesnt/exist")
25
26     def test_memory_buffer_len(self):
27         source = self.get_test_file()
28         m = MemoryBuffer(filename=source)
29         self.assertEqual(len(m), 50)
30
31     def test_create_passregistry(self):
32         PassRegistry()
33
34     def test_create_context(self):
35         Context.GetGlobalContext()