#!/usr/bin/env python """ Tests for module with scalar derived types and subprograms. ----- Permission to use, modify, and distribute this software is given under the terms of the NumPy License. See http://scipy.org. NO WARRANTY IS EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. Author: Pearu Peterson Created: Oct 2006 ----- """ import os import sys from numpy.testing import * set_package_path() from lib.main import build_extension, compile restore_path() fortran_code = ''' module test_module_scalar_ext contains subroutine foo(a) integer a !f2py intent(in,out) a a = a + 1 end subroutine foo function foo2(a) integer a integer foo2 foo2 = a + 2 end function foo2 end module test_module_scalar_ext ''' m, = compile(fortran_code, modulenames = ['test_module_scalar_ext']) from numpy import * class TestM(NumpyTestCase): def check_foo_simple(self, level=1): foo = m.foo r = foo(2) assert isinstance(r,int32),`type(r)` assert_equal(r,3) def check_foo2_simple(self, level=1): foo2 = m.foo2 r = foo2(2) assert isinstance(r,int32),`type(r)` assert_equal(r,4) if __name__ == "__main__": NumpyTest().run()