| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import pytest
- import textwrap
- from . import util
- from numpy.testing import IS_PYPY
- @pytest.mark.slow
- class TestModuleFilterPublicEntities(util.F2PyTest):
- sources = [
- util.getpath(
- "tests", "src", "modules", "gh26920",
- "two_mods_with_one_public_routine.f90"
- )
- ]
- # we filter the only public function mod2
- only = ["mod1_func1", ]
- def test_gh26920(self):
- # if it compiles and can be loaded, things are fine
- pass
- @pytest.mark.slow
- class TestModuleWithoutPublicEntities(util.F2PyTest):
- sources = [
- util.getpath(
- "tests", "src", "modules", "gh26920",
- "two_mods_with_no_public_entities.f90"
- )
- ]
- only = ["mod1_func1", ]
- def test_gh26920(self):
- # if it compiles and can be loaded, things are fine
- pass
- @pytest.mark.slow
- class TestModuleDocString(util.F2PyTest):
- sources = [util.getpath("tests", "src", "modules", "module_data_docstring.f90")]
- @pytest.mark.xfail(IS_PYPY, reason="PyPy cannot modify tp_doc after PyType_Ready")
- def test_module_docstring(self):
- assert self.module.mod.__doc__ == textwrap.dedent(
- """\
- i : 'i'-scalar
- x : 'i'-array(4)
- a : 'f'-array(2,3)
- b : 'f'-array(-1,-1), not allocated\x00
- foo()\n
- Wrapper for ``foo``.\n\n"""
- )
- @pytest.mark.slow
- class TestModuleAndSubroutine(util.F2PyTest):
- module_name = "example"
- sources = [
- util.getpath("tests", "src", "modules", "gh25337", "data.f90"),
- util.getpath("tests", "src", "modules", "gh25337", "use_data.f90"),
- ]
- def test_gh25337(self):
- self.module.data.set_shift(3)
- assert "data" in dir(self.module)
- @pytest.mark.slow
- class TestUsedModule(util.F2PyTest):
- module_name = "fmath"
- sources = [
- util.getpath("tests", "src", "modules", "use_modules.f90"),
- ]
- def test_gh25867(self):
- compiled_mods = [x for x in dir(self.module) if "__" not in x]
- assert "useops" in compiled_mods
- assert self.module.useops.sum_and_double(3, 7) == 20
- assert "mathops" in compiled_mods
- assert self.module.mathops.add(3, 7) == 10
|