summaryrefslogtreecommitdiff
path: root/numpy/f2py/lib/test_module_scalar.py
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/f2py/lib/test_module_scalar.py')
-rw-r--r--numpy/f2py/lib/test_module_scalar.py83
1 files changed, 0 insertions, 83 deletions
diff --git a/numpy/f2py/lib/test_module_scalar.py b/numpy/f2py/lib/test_module_scalar.py
deleted file mode 100644
index cd04a0b23..000000000
--- a/numpy/f2py/lib/test_module_scalar.py
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/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 <pearu@cens.ioc.ee>
-Created: Oct 2006
------
-"""
-
-import os
-import sys
-from numpy.testing import *
-
-def build(fortran_code, rebuild=True):
- modulename = os.path.splitext(os.path.basename(__file__))[0] + '_ext'
- try:
- exec ('import %s as m' % (modulename))
- if rebuild and os.stat(m.__file__)[8] < os.stat(__file__)[8]:
- del sys.modules[m.__name__] # soft unload extension module
- os.remove(m.__file__)
- raise ImportError,'%s is newer than %s' % (__file__, m.__file__)
- except ImportError,msg:
- assert str(msg)==('No module named %s' % (modulename)),str(msg)
- print msg, ', recompiling %s.' % (modulename)
- import tempfile
- fname = tempfile.mktemp() + '.f90'
- f = open(fname,'w')
- f.write(fortran_code)
- f.close()
- sys_argv = []
- sys_argv.extend(['--build-dir','tmp'])
- #sys_argv.extend(['-DF2PY_DEBUG_PYOBJ_TOFROM'])
- from main import build_extension
- sys_argv.extend(['-m',modulename, fname])
- build_extension(sys_argv)
- os.remove(fname)
- status = os.system(' '.join([sys.executable] + sys.argv))
- sys.exit(status)
- return m
-
-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
-'''
-
-# tester note: set rebuild=True when changing fortan_code and for SVN
-m = build(fortran_code, rebuild=True)
-
-from numpy import *
-
-class test_m(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()