summaryrefslogtreecommitdiff
path: root/numpy/f2py/tests
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/f2py/tests')
-rw-r--r--numpy/f2py/tests/test_crackfortran.py53
-rw-r--r--numpy/f2py/tests/test_return_complex.py3
-rw-r--r--numpy/f2py/tests/test_return_integer.py2
-rw-r--r--numpy/f2py/tests/test_return_logical.py2
-rw-r--r--numpy/f2py/tests/test_return_real.py2
-rw-r--r--numpy/f2py/tests/util.py5
6 files changed, 55 insertions, 12 deletions
diff --git a/numpy/f2py/tests/test_crackfortran.py b/numpy/f2py/tests/test_crackfortran.py
index 18a1474b0..735804024 100644
--- a/numpy/f2py/tests/test_crackfortran.py
+++ b/numpy/f2py/tests/test_crackfortran.py
@@ -1,6 +1,9 @@
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):
@@ -33,3 +36,53 @@ class TestNoSpace(util.F2PyTest):
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']
diff --git a/numpy/f2py/tests/test_return_complex.py b/numpy/f2py/tests/test_return_complex.py
index 38b23e1f3..3d2e2b94f 100644
--- a/numpy/f2py/tests/test_return_complex.py
+++ b/numpy/f2py/tests/test_return_complex.py
@@ -1,7 +1,6 @@
import pytest
from numpy import array
-from numpy.compat import long
from numpy.testing import assert_, assert_raises
from . import util
@@ -15,7 +14,7 @@ class TestReturnComplex(util.F2PyTest):
err = 0.0
assert_(abs(t(234j) - 234.0j) <= err)
assert_(abs(t(234.6) - 234.6) <= err)
- assert_(abs(t(long(234)) - 234.0) <= err)
+ assert_(abs(t(234) - 234.0) <= err)
assert_(abs(t(234.6 + 3j) - (234.6 + 3j)) <= err)
#assert_( abs(t('234')-234.)<=err)
#assert_( abs(t('234.6')-234.6)<=err)
diff --git a/numpy/f2py/tests/test_return_integer.py b/numpy/f2py/tests/test_return_integer.py
index c95835454..0a8121dc1 100644
--- a/numpy/f2py/tests/test_return_integer.py
+++ b/numpy/f2py/tests/test_return_integer.py
@@ -1,7 +1,6 @@
import pytest
from numpy import array
-from numpy.compat import long
from numpy.testing import assert_, assert_raises
from . import util
@@ -11,7 +10,6 @@ class TestReturnInteger(util.F2PyTest):
def check_function(self, t, tname):
assert_(t(123) == 123, repr(t(123)))
assert_(t(123.6) == 123)
- assert_(t(long(123)) == 123)
assert_(t('123') == 123)
assert_(t(-123) == -123)
assert_(t([123]) == 123)
diff --git a/numpy/f2py/tests/test_return_logical.py b/numpy/f2py/tests/test_return_logical.py
index 3139e0df7..9db939c7e 100644
--- a/numpy/f2py/tests/test_return_logical.py
+++ b/numpy/f2py/tests/test_return_logical.py
@@ -1,7 +1,6 @@
import pytest
from numpy import array
-from numpy.compat import long
from numpy.testing import assert_, assert_raises
from . import util
@@ -18,7 +17,6 @@ class TestReturnLogical(util.F2PyTest):
assert_(t(1j) == 1)
assert_(t(234) == 1)
assert_(t(234.6) == 1)
- assert_(t(long(234)) == 1)
assert_(t(234.6 + 3j) == 1)
assert_(t('234') == 1)
assert_(t('aaa') == 1)
diff --git a/numpy/f2py/tests/test_return_real.py b/numpy/f2py/tests/test_return_real.py
index 258cf8d28..8e5022a8e 100644
--- a/numpy/f2py/tests/test_return_real.py
+++ b/numpy/f2py/tests/test_return_real.py
@@ -2,7 +2,6 @@ import platform
import pytest
from numpy import array
-from numpy.compat import long
from numpy.testing import assert_, assert_raises
from . import util
@@ -16,7 +15,6 @@ class TestReturnReal(util.F2PyTest):
err = 0.0
assert_(abs(t(234) - 234.0) <= err)
assert_(abs(t(234.6) - 234.6) <= err)
- assert_(abs(t(long(234)) - 234.0) <= err)
assert_(abs(t('234') - 234) <= err)
assert_(abs(t('234.6') - 234.6) <= err)
assert_(abs(t(-234) + 234) <= err)
diff --git a/numpy/f2py/tests/util.py b/numpy/f2py/tests/util.py
index 6dcc2ed12..c5b06697d 100644
--- a/numpy/f2py/tests/util.py
+++ b/numpy/f2py/tests/util.py
@@ -19,10 +19,7 @@ from numpy.compat import asbytes, asstr
from numpy.testing import temppath
from importlib import import_module
-try:
- from hashlib import md5
-except ImportError:
- from md5 import new as md5 # noqa: F401
+from hashlib import md5
#
# Maintaining a temporary module directory