/usr/local/lib64/python3.6/site-packages/numpy/f2py/tests
NameSizeModeActions
src/-0755rm
__pycache__/-0755rm
test_array_from_pyobj.py219770644editdlrm
test_assumed_shape.py15840644editdlrm
test_block_docstring.py6210644editdlrm
test_callback.py39870644editdlrm
test_common.py8020644editdlrm
test_compile_function.py43090644editdlrm
test_crackfortran.py27970644editdlrm
test_kind.py10120644editdlrm
test_mixed.py9110644editdlrm
test_parameter.py39100644editdlrm
test_quoted_character.py9270644editdlrm
test_regression.py6980644editdlrm
test_return_character.py39190644editdlrm
test_return_complex.py46150644editdlrm
test_return_integer.py45760644editdlrm
test_return_logical.py48430644editdlrm
test_return_real.py54020644editdlrm
test_semicolon_split.py15140644editdlrm
test_size.py12860644editdlrm
test_string.py6100644editdlrm
util.py96130644editdlrm
__init__.py00644editdlrm
Edit: /usr/local/lib64/python3.6/site-packages/numpy/f2py/tests/test_crackfortran.py (2797B)
import numpy as np from numpy.testing import assert_array_equal from . import util from numpy.f2py import crackfortran import tempfile import textwrap class TestNoSpace(util.F2PyTest): # issue gh-15035: add handling for endsubroutine, endfunction with no space # between "end" and the block name code = """ subroutine subb(k) real(8), intent(inout) :: k(:) k=k+1 endsubroutine subroutine subc(w,k) real(8), intent(in) :: w(:) real(8), intent(out) :: k(size(w)) k=w+1 endsubroutine function t0(value) character value character t0 t0 = value endfunction """ def test_module(self): k = np.array([1, 2, 3], dtype=np.float64) w = np.array([1, 2, 3], dtype=np.float64) self.module.subb(k) assert_array_equal(k, w + 1) self.module.subc([w, k]) assert_array_equal(k, w + 1) assert self.module.t0(23) == b'2' class TestPublicPrivate(): def test_defaultPrivate(self, tmp_path): f_path = tmp_path / "mod.f90" with f_path.open('w') as ff: ff.write(textwrap.dedent("""\ module foo private integer :: a public :: setA integer :: b contains subroutine setA(v) integer, intent(in) :: v a = v end subroutine setA end module foo """)) mod = crackfortran.crackfortran([str(f_path)]) assert len(mod) == 1 mod = mod[0] assert 'private' in mod['vars']['a']['attrspec'] assert 'public' not in mod['vars']['a']['attrspec'] assert 'private' in mod['vars']['b']['attrspec'] assert 'public' not in mod['vars']['b']['attrspec'] assert 'private' not in mod['vars']['seta']['attrspec'] assert 'public' in mod['vars']['seta']['attrspec'] def test_defaultPublic(self, tmp_path): f_path = tmp_path / "mod.f90" with f_path.open('w') as ff: ff.write(textwrap.dedent("""\ module foo public integer, private :: a public :: setA contains subroutine setA(v) integer, intent(in) :: v a = v end subroutine setA end module foo """)) mod = crackfortran.crackfortran([str(f_path)]) assert len(mod) == 1 mod = mod[0] assert 'private' in mod['vars']['a']['attrspec'] assert 'public' not in mod['vars']['a']['attrspec'] assert 'private' not in mod['vars']['seta']['attrspec'] assert 'public' in mod['vars']['seta']['attrspec']