To run all F2PY unit tests in one command:
cd tests python run_all.py [<options>]
For example:
localhost:~/src_cvs/f2py2e/tests$ python2.2 run_all.py 100 --quiet ********************************************** Running '/usr/bin/python2.2 f77/return_integer.py 100 --quiet' run 1000 tests in 1.87 seconds initial virtual memory size: 3952640 bytes current virtual memory size: 3952640 bytes ok ********************************************** Running '/usr/bin/python2.2 f77/return_logical.py 100 --quiet' run 1000 tests in 1.47 seconds initial virtual memory size: 3952640 bytes current virtual memory size: 3952640 bytes ok ...
If some tests fail, try to run the failing tests separately (without the --quiet option) as described below to get more information about the failure.
Test intent(in), intent(out) scalar arguments, scalars returned by F77 functions and F90 module functions:
tests/f77/return_integer.py tests/f77/return_real.py tests/f77/return_logical.py tests/f77/return_complex.py tests/f77/return_character.py tests/f90/return_integer.py tests/f90/return_real.py tests/f90/return_logical.py tests/f90/return_complex.py tests/f90/return_character.py
Change to tests/ directory and run:
python f77/return_<type>.py [<options>] python f90/return_<type>.py [<options>]
where <type> is integer, real, logical, complex, or character. Test scripts options are described below.
A test is considered succesful if the last printed line is "ok".
If you get import errors like:
ImportError: No module named f77_ext_return_integer
but f77_ext_return_integer.so exists in the current directory then it means that the current directory is not included in to sys.path in your Python installation. As a fix, prepend . to PYTHONPATH environment variable and rerun the tests. For example:
PYTHONPATH=. python f77/return_integer.py
Test mixing Fortran 77, Fortran 90 fixed and free format codes:
tests/mixed/run.py
Test basic callback hooks:
tests/f77/callback.py
You may want to use the following options when running the test scripts:
Use:
f2py -c --help-fcompiler
to find out what compilers are available (or more precisely, which ones are recognized by scipy_distutils).
XXX: (1) make sure that failures are due to f2py and (2) send full stdout/stderr messages to me. Also add compiler,python,platform information.