Server : Apache System : Linux indy02.toastserver.com 3.10.0-962.3.2.lve1.5.85.el7.x86_64 #1 SMP Thu Apr 18 15:18:36 UTC 2024 x86_64 User : palandch ( 1163) PHP Version : 7.1.33 Disable Function : NONE Directory : /opt/cloudlinux/venv/lib64/python3.11/site-packages/numpy/distutils/tests/ |
import shutil import subprocess import sys import pytest from numpy.distutils import mingw32ccompiler @pytest.mark.skipif(sys.platform != 'win32', reason='win32 only test') def test_build_import(): '''Test the mingw32ccompiler.build_import_library, which builds a `python.a` from the MSVC `python.lib` ''' # make sure `nm.exe` exists and supports the current python version. This # can get mixed up when the PATH has a 64-bit nm but the python is 32-bit try: out = subprocess.check_output(['nm.exe', '--help']) except FileNotFoundError: pytest.skip("'nm.exe' not on path, is mingw installed?") supported = out[out.find(b'supported targets:'):] if sys.maxsize < 2**32: if b'pe-i386' not in supported: raise ValueError("'nm.exe' found but it does not support 32-bit " "dlls when using 32-bit python. Supported " "formats: '%s'" % supported) elif b'pe-x86-64' not in supported: raise ValueError("'nm.exe' found but it does not support 64-bit " "dlls when using 64-bit python. Supported " "formats: '%s'" % supported) # Hide the import library to force a build has_import_lib, fullpath = mingw32ccompiler._check_for_import_lib() if has_import_lib: shutil.move(fullpath, fullpath + '.bak') try: # Whew, now we can actually test the function mingw32ccompiler.build_import_library() finally: if has_import_lib: shutil.move(fullpath + '.bak', fullpath)