diff options
author | Travis Oliphant <oliphant@enthought.com> | 2006-01-02 08:26:24 +0000 |
---|---|---|
committer | Travis Oliphant <oliphant@enthought.com> | 2006-01-02 08:26:24 +0000 |
commit | 4712a37b93832933a46376ee99339f9040ba3670 (patch) | |
tree | 8a3de8500925061b0f2368fae2d50159dbea206f /scipy/weave/tests/test_ext_tools.py | |
parent | b5ba0003def4cfa43b29d29df8f085d09609707b (diff) | |
download | numpy-4712a37b93832933a46376ee99339f9040ba3670.tar.gz |
Moved weave to scipy
Diffstat (limited to 'scipy/weave/tests/test_ext_tools.py')
-rw-r--r-- | scipy/weave/tests/test_ext_tools.py | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/scipy/weave/tests/test_ext_tools.py b/scipy/weave/tests/test_ext_tools.py deleted file mode 100644 index c8a15e341..000000000 --- a/scipy/weave/tests/test_ext_tools.py +++ /dev/null @@ -1,138 +0,0 @@ - -import time - -from scipy.testing import * -set_package_path() -from weave import ext_tools, c_spec -try: - from weave.standard_array_spec import array_converter -except ImportError: - pass # requires scipy_base.numerix -restore_path() - -set_local_path() -from weave_test_utils import * -restore_path() - -build_dir = empty_temp_dir() -print 'building extensions here:', build_dir - -class test_ext_module(ScipyTestCase): - #should really do some testing of where modules end up - def check_simple(self,level=5): - """ Simplest possible module """ - mod = ext_tools.ext_module('simple_ext_module') - mod.compile(location = build_dir) - import simple_ext_module - def check_multi_functions(self,level=5): - mod = ext_tools.ext_module('module_multi_function') - var_specs = [] - code = "" - test = ext_tools.ext_function_from_specs('test',code,var_specs) - mod.add_function(test) - test2 = ext_tools.ext_function_from_specs('test2',code,var_specs) - mod.add_function(test2) - mod.compile(location = build_dir) - import module_multi_function - module_multi_function.test() - module_multi_function.test2() - def check_with_include(self,level=5): - # decalaring variables - a = 2.; - - # declare module - mod = ext_tools.ext_module('ext_module_with_include') - mod.customize.add_header('<iostream>') - - # function 2 --> a little more complex expression - var_specs = ext_tools.assign_variable_types(['a'],locals(),globals()) - code = """ - std::cout << std::endl; - std::cout << "test printing a value:" << a << std::endl; - """ - test = ext_tools.ext_function_from_specs('test',code,var_specs) - mod.add_function(test) - # build module - mod.compile(location = build_dir) - import ext_module_with_include - ext_module_with_include.test(a) - - def check_string_and_int(self,level=5): - # decalaring variables - a = 2;b = 'string' - # declare module - mod = ext_tools.ext_module('ext_string_and_int') - code = """ - a=b.length(); - return_val = PyInt_FromLong(a); - """ - test = ext_tools.ext_function('test',code,['a','b']) - mod.add_function(test) - mod.compile(location = build_dir) - import ext_string_and_int - c = ext_string_and_int.test(a,b) - assert(c == len(b)) - - def check_return_tuple(self,level=5): - # decalaring variables - a = 2 - # declare module - mod = ext_tools.ext_module('ext_return_tuple') - var_specs = ext_tools.assign_variable_types(['a'],locals()) - code = """ - int b; - b = a + 1; - py::tuple returned(2); - returned[0] = a; - returned[1] = b; - return_val = returned; - """ - test = ext_tools.ext_function('test',code,['a']) - mod.add_function(test) - mod.compile(location = build_dir) - import ext_return_tuple - c,d = ext_return_tuple.test(a) - assert(c==a and d == a+1) - -class test_ext_function(ScipyTestCase): - #should really do some testing of where modules end up - def check_simple(self,level=5): - """ Simplest possible function """ - mod = ext_tools.ext_module('simple_ext_function') - var_specs = [] - code = "" - test = ext_tools.ext_function_from_specs('test',code,var_specs) - mod.add_function(test) - mod.compile(location = build_dir) - import simple_ext_function - simple_ext_function.test() - -class test_assign_variable_types(ScipyTestCase): - def check_assign_variable_types(self): - try: - from scipy_base.numerix import arange, Float32, Float64 - except: - # skip this test if scipy_base.numerix not installed - return - - import types - a = arange(10,typecode = Float32) - b = arange(5,typecode = Float64) - c = 5 - arg_list = ['a','b','c'] - actual = ext_tools.assign_variable_types(arg_list,locals()) - #desired = {'a':(Float32,1),'b':(Float32,1),'i':(Int32,0)} - - ad = array_converter() - ad.name, ad.var_type, ad.dims = 'a', Float32, 1 - bd = array_converter() - bd.name, bd.var_type, bd.dims = 'b', Float64, 1 - - cd = c_spec.int_converter() - cd.name, cd.var_type = 'c', types.IntType - desired = [ad,bd,cd] - expr = "" - print_assert_equal(expr,actual,desired) - -if __name__ == "__main__": - ScipyTest().run() |