Current Path: > > opt > cloudlinux > venv > lib64 > python3.11 > > site-packages > numpy > f2py > tests >
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
__pycache__ | Directory | - | - | |
src | Directory | - | - | |
__init__.py | File | 0 bytes | April 17 2025 13:10:58. | |
test_abstract_interface.py | File | 832 bytes | April 17 2025 13:10:58. | |
test_array_from_pyobj.py | File | 24049 bytes | April 17 2025 13:10:58. | |
test_assumed_shape.py | File | 1466 bytes | April 17 2025 13:10:58. | |
test_block_docstring.py | File | 564 bytes | April 17 2025 13:10:58. | |
test_callback.py | File | 6152 bytes | April 17 2025 13:10:58. | |
test_character.py | File | 20513 bytes | April 17 2025 13:10:58. | |
test_common.py | File | 584 bytes | April 17 2025 13:10:58. | |
test_compile_function.py | File | 4186 bytes | April 17 2025 13:10:58. | |
test_crackfortran.py | File | 13078 bytes | April 17 2025 13:10:58. | |
test_docs.py | File | 1662 bytes | April 17 2025 13:10:58. | |
test_f2cmap.py | File | 391 bytes | April 17 2025 13:10:58. | |
test_f2py2e.py | File | 21570 bytes | April 17 2025 13:10:58. | |
test_kind.py | File | 1671 bytes | April 17 2025 13:10:58. | |
test_mixed.py | File | 848 bytes | April 17 2025 13:10:58. | |
test_module_doc.py | File | 863 bytes | April 17 2025 13:10:58. | |
test_parameter.py | File | 3941 bytes | April 17 2025 13:10:58. | |
test_quoted_character.py | File | 454 bytes | April 17 2025 13:10:58. | |
test_regression.py | File | 2157 bytes | April 17 2025 13:10:58. | |
test_return_character.py | File | 1493 bytes | April 17 2025 13:10:58. | |
test_return_complex.py | File | 2397 bytes | April 17 2025 13:10:58. | |
test_return_integer.py | File | 1850 bytes | April 17 2025 13:10:58. | |
test_return_logical.py | File | 2017 bytes | April 17 2025 13:10:58. | |
test_return_real.py | File | 3353 bytes | April 17 2025 13:10:58. | |
test_semicolon_split.py | File | 1635 bytes | April 17 2025 13:10:58. | |
test_size.py | File | 1164 bytes | April 17 2025 13:10:58. | |
test_string.py | File | 2962 bytes | April 17 2025 13:10:58. | |
test_symbolic.py | File | 18341 bytes | April 17 2025 13:10:58. | |
test_value_attrspec.py | File | 323 bytes | April 17 2025 13:10:58. | |
util.py | File | 11129 bytes | April 17 2025 13:10:58. |
"""See https://github.com/numpy/numpy/pull/11937. """ import sys import os import uuid from importlib import import_module import pytest import numpy.f2py from . import util def setup_module(): if not util.has_c_compiler(): pytest.skip("Needs C compiler") if not util.has_f77_compiler(): pytest.skip("Needs FORTRAN 77 compiler") # extra_args can be a list (since gh-11937) or string. # also test absence of extra_args @pytest.mark.parametrize("extra_args", [["--noopt", "--debug"], "--noopt --debug", ""]) @pytest.mark.leaks_references(reason="Imported module seems never deleted.") def test_f2py_init_compile(extra_args): # flush through the f2py __init__ compile() function code path as a # crude test for input handling following migration from # exec_command() to subprocess.check_output() in gh-11937 # the Fortran 77 syntax requires 6 spaces before any commands, but # more space may be added/ fsource = """ integer function foo() foo = 10 + 5 return end """ # use various helper functions in util.py to enable robust build / # compile and reimport cycle in test suite moddir = util.get_module_dir() modname = util.get_temp_module_name() cwd = os.getcwd() target = os.path.join(moddir, str(uuid.uuid4()) + ".f") # try running compile() with and without a source_fn provided so # that the code path where a temporary file for writing Fortran # source is created is also explored for source_fn in [target, None]: # mimic the path changing behavior used by build_module() in # util.py, but don't actually use build_module() because it has # its own invocation of subprocess that circumvents the # f2py.compile code block under test with util.switchdir(moddir): ret_val = numpy.f2py.compile(fsource, modulename=modname, extra_args=extra_args, source_fn=source_fn) # check for compile success return value assert ret_val == 0 # we are not currently able to import the Python-Fortran # interface module on Windows / Appveyor, even though we do get # successful compilation on that platform with Python 3.x if sys.platform != "win32": # check for sensible result of Fortran function; that means # we can import the module name in Python and retrieve the # result of the sum operation return_check = import_module(modname) calc_result = return_check.foo() assert calc_result == 15 # Removal from sys.modules, is not as such necessary. Even with # removal, the module (dict) stays alive. del sys.modules[modname] def test_f2py_init_compile_failure(): # verify an appropriate integer status value returned by # f2py.compile() when invalid Fortran is provided ret_val = numpy.f2py.compile(b"invalid") assert ret_val == 1 def test_f2py_init_compile_bad_cmd(): # verify that usage of invalid command in f2py.compile() returns # status value of 127 for historic consistency with exec_command() # error handling # patch the sys Python exe path temporarily to induce an OSError # downstream NOTE: how bad of an idea is this patching? try: temp = sys.executable sys.executable = "does not exist" # the OSError should take precedence over invalid Fortran ret_val = numpy.f2py.compile(b"invalid") assert ret_val == 127 finally: sys.executable = temp @pytest.mark.parametrize( "fsource", [ "program test_f2py\nend program test_f2py", b"program test_f2py\nend program test_f2py", ], ) def test_compile_from_strings(tmpdir, fsource): # Make sure we can compile str and bytes gh-12796 with util.switchdir(tmpdir): ret_val = numpy.f2py.compile(fsource, modulename="test_compile_from_strings", extension=".f90") assert ret_val == 0
SILENT KILLER Tool