summaryrefslogtreecommitdiff
path: root/numpy/f2py/tests/f77/callback.py
diff options
context:
space:
mode:
authorPauli Virtanen <pav@iki.fi>2010-03-06 19:10:14 +0000
committerPauli Virtanen <pav@iki.fi>2010-03-06 19:10:14 +0000
commit399018f2b1f68877c622f8ca015c10fb40e6f625 (patch)
treee007f0eedf8959597e1efddf63c99f60f37129c1 /numpy/f2py/tests/f77/callback.py
parent0132351b0073f464060e1bac8b0595198c31a4e9 (diff)
downloadnumpy-399018f2b1f68877c622f8ca015c10fb40e6f625.tar.gz
ENH: f2py: convert test suite to Nose form
Rewrite F2Py's test suite, so that it is run as a part of Numpy's tests. These tests require compiling extension modules on-the-fly, so I added a small helper module for that.
Diffstat (limited to 'numpy/f2py/tests/f77/callback.py')
-rw-r--r--numpy/f2py/tests/f77/callback.py98
1 files changed, 0 insertions, 98 deletions
diff --git a/numpy/f2py/tests/f77/callback.py b/numpy/f2py/tests/f77/callback.py
deleted file mode 100644
index bfe4eb547..000000000
--- a/numpy/f2py/tests/f77/callback.py
+++ /dev/null
@@ -1,98 +0,0 @@
-__usage__ = """
-Run:
- python callback.py [<f2py options>]
-Examples:
- python callback.py --fcompiler=Gnu --no-wrap-functions
- python callback.py --quiet
-"""
-
-import f2py2e
-import math
-import sys
-from Numeric import array
-
-def build(f2py_opts):
- try:
- import f77_ext_callback
- except ImportError:
- assert not f2py2e.compile('''\
- subroutine t(fun,a)
- integer a
-cf2py intent(out) a
- external fun
- call fun(a)
- end
-
- subroutine func(a)
-cf2py intent(in,out) a
- integer a
- a = a + 11
- end
-
- subroutine func0(a)
-cf2py intent(out) a
- integer a
- a = 11
- end
-
- subroutine t2(a)
-cf2py intent(callback) fun
- integer a
-cf2py intent(out) a
- external fun
- call fun(a)
- end
-
-''','f77_ext_callback',f2py_opts,source_fn='f77_callback.f')
-
- from f77_ext_callback import t,t2
- test_functions = [t,t2]
- return test_functions
-
-def runtest(t):
- r = t(lambda : 4)
- assert r==4,`r`
- r = t(lambda a:5,fun_extra_args=(6,))
- assert r==5,`r`
- r = t(lambda a:a,fun_extra_args=(6,))
- assert r==6,`r`
- r = t(lambda a:5+a,fun_extra_args=(7,))
- assert r==12,`r`
- if sys.version[:3]>='2.3':
- r = t(lambda a:math.degrees(a),fun_extra_args=(math.pi,))
- assert r==180,`r`
- r = t(math.degrees,fun_extra_args=(math.pi,))
- assert r==180,`r`
- from f77_ext_callback import func,func0
- r = t(func,fun_extra_args=(6,))
- assert r==17,`r`
- r = t(func0)
- assert r==11,`r`
- r = t(func0._cpointer)
- assert r==11,`r`
- class A:
- def __call__(self):
- return 7
- def mth(self):
- return 9
- a = A()
- r = t(a)
- assert r==7,`r`
- r = t(a.mth)
- assert r==9,`r`
-
-if __name__=='__main__':
- #import libwadpy
- status = 1
- try:
- repeat,f2py_opts = f2py2e.f2py_testing.cmdline()
- test_functions = build(f2py_opts)
- f2py2e.f2py_testing.run(runtest,test_functions,repeat)
- print 'ok'
- status = 0
- finally:
- if status:
- print '*'*20
- print 'Running f2py2e.diagnose'
- import f2py2e.diagnose
- f2py2e.diagnose.run()