Files
MoFin/venv/lib/python3.12/site-packages/numpy/f2py/tests/test_modules.py
T
知微 fa45d8aa5f fix: 小果地址统一node122(兼容LAN+EasyTier)
- health_checklist.json: 192.168.1.122→node122
- ocr_client.py: docstring IP→node122
- docs/market-data-requirements.md: IP→node122
- 所有API调用通过ProxyHandler({})绕过系统代理
  Privoxy对node122:18003返回500,直连正常
2026-06-30 02:56:35 +08:00

88 lines
2.4 KiB
Python

import textwrap
import pytest
from . import util
@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")]
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"),
util.getpath("tests", "src", "regression", "datonly.f90"),
]
def test_gh25337(self):
self.module.data.set_shift(3)
assert "data" in dir(self.module)
def test_allocatable_in_dir(self):
# gh-27696: allocatable arrays should appear in dir()
names = dir(self.module.datonly)
assert "data_array" in names
assert "max_value" in names
@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