From 7b0f3cc0c70612eac26b44ca2c949ea853489b3c Mon Sep 17 00:00:00 2001 From: Ilan Schnell Date: Sat, 22 Sep 2012 20:59:03 -0500 Subject: [PATCH] move engine builder test --- llvm/test_llvmpy.py | 51 +++++++++++++++++++++++++++++++++++++++ test/enginebuilder.py | 56 ------------------------------------------- 2 files changed, 51 insertions(+), 56 deletions(-) delete mode 100644 test/enginebuilder.py diff --git a/llvm/test_llvmpy.py b/llvm/test_llvmpy.py index 98549b4..79b1239 100644 --- a/llvm/test_llvmpy.py +++ b/llvm/test_llvmpy.py @@ -20,6 +20,7 @@ else: import llvm from llvm.core import (Module, Type, GlobalVariable, Function, Builder, Constant, MetaData, MetaDataString, inline_function) +from llvm.ee import EngineBuilder import llvm.core as lc import llvm.passes as lp import llvm.ee as le @@ -383,6 +384,56 @@ tests.append(TestPasses) # --------------------------------------------------------------------------- +class TestEngineBuilder(unittest.TestCase): + + def make_test_module(self): + module = Module.new("testmodule") + fnty = Type.function(Type.int(), []) + function = module.add_function(fnty, 'foo') + bb_entry = function.append_basic_block('entry') + builder = Builder.new(bb_entry) + builder.ret(Constant.int(Type.int(), 0xcafe)) + module.verify() + return module + + def run_foo(self, ee, module): + function = module.get_function_named('foo') + retval = ee.run_function(function, []) + self.assertEqual(retval.as_int(), 0xcafe) + + + def test_enginebuilder_basic(self): + module = self.make_test_module() + ee = EngineBuilder.new(module).create() + + with self.assertRaises(llvm.LLVMException): + # Ensure the module is owned. + llvm._util.check_is_unowned(module) + + self.run_foo(ee, module) + + def test_enginebuilder_force_jit(self): + module = self.make_test_module() + ee = EngineBuilder.new(module).force_jit().create() + + self.run_foo(ee, module) + + def test_enginebuilder_force_interpreter(self): + module = self.make_test_module() + ee = EngineBuilder.new(module).force_interpreter().create() + + self.run_foo(ee, module) + + def test_enginebuilder_opt(self): + module = self.make_test_module() + ee = EngineBuilder.new(module).opt(3).create() + + self.run_foo(ee, module) + +tests.append(TestEngineBuilder) + +# --------------------------------------------------------------------------- + class TestObjCache(unittest.TestCase): def test_objcache(self): diff --git a/test/enginebuilder.py b/test/enginebuilder.py deleted file mode 100644 index 81b6163..0000000 --- a/test/enginebuilder.py +++ /dev/null @@ -1,56 +0,0 @@ -from llvm.ee import * -from llvm.core import * -from llvm import _util, LLVMException - -from ctypes import * - -import unittest, logging - -class TestEngineBuilder(unittest.TestCase): - - def make_test_module(self): - module = Module.new("testmodule") - fnty = Type.function(Type.int(), []) - function = module.add_function(fnty, 'foo') - bb_entry = function.append_basic_block('entry') - builder = Builder.new(bb_entry) - builder.ret(Constant.int(Type.int(), 0xcafe)) - module.verify() - return module - - def run_foo(self, ee, module): - function = module.get_function_named('foo') - retval = ee.run_function(function, []) - self.assertEqual(retval.as_int(), 0xcafe) - - - def test_enginebuilder_basic(self): - module = self.make_test_module() - ee = EngineBuilder.new(module).create() - - with self.assertRaises(LLVMException): - # Ensure the module is owned. - _util.check_is_unowned(module) - - self.run_foo(ee, module) - - def test_enginebuilder_force_jit(self): - module = self.make_test_module() - ee = EngineBuilder.new(module).force_jit().create() - - self.run_foo(ee, module) - - def test_enginebuilder_force_interpreter(self): - module = self.make_test_module() - ee = EngineBuilder.new(module).force_interpreter().create() - - self.run_foo(ee, module) - - def test_enginebuilder_opt(self): - module = self.make_test_module() - ee = EngineBuilder.new(module).opt(3).create() - - self.run_foo(ee, module) - -if __name__ == '__main__': - unittest.main()