diff options
author | Pauli Virtanen <pav@iki.fi> | 2010-03-06 19:10:14 +0000 |
---|---|---|
committer | Pauli Virtanen <pav@iki.fi> | 2010-03-06 19:10:14 +0000 |
commit | 399018f2b1f68877c622f8ca015c10fb40e6f625 (patch) | |
tree | e007f0eedf8959597e1efddf63c99f60f37129c1 /numpy/f2py/tests/f77/callback.py | |
parent | 0132351b0073f464060e1bac8b0595198c31a4e9 (diff) | |
download | numpy-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.py | 98 |
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() |