| | import os
|
| | import subprocess
|
| | import sysconfig
|
| |
|
| | import pytest
|
| | import numpy as np
|
| |
|
| | from numpy.testing import IS_WASM
|
| |
|
| |
|
| | is_editable = not bool(np.__path__)
|
| | numpy_in_sitepackages = sysconfig.get_path('platlib') in np.__file__
|
| |
|
| |
|
| | if not (numpy_in_sitepackages or is_editable):
|
| | pytest.skip("`numpy-config` not expected to be installed",
|
| | allow_module_level=True)
|
| |
|
| |
|
| | def check_numpyconfig(arg):
|
| | p = subprocess.run(['numpy-config', arg], capture_output=True, text=True)
|
| | p.check_returncode()
|
| | return p.stdout.strip()
|
| |
|
| | @pytest.mark.skipif(IS_WASM, reason="wasm interpreter cannot start subprocess")
|
| | def test_configtool_version():
|
| | stdout = check_numpyconfig('--version')
|
| | assert stdout == np.__version__
|
| |
|
| | @pytest.mark.skipif(IS_WASM, reason="wasm interpreter cannot start subprocess")
|
| | def test_configtool_cflags():
|
| | stdout = check_numpyconfig('--cflags')
|
| | assert stdout.endswith(os.path.join('numpy', '_core', 'include'))
|
| |
|
| | @pytest.mark.skipif(IS_WASM, reason="wasm interpreter cannot start subprocess")
|
| | def test_configtool_pkgconfigdir():
|
| | stdout = check_numpyconfig('--pkgconfigdir')
|
| | assert stdout.endswith(os.path.join('numpy', '_core', 'lib', 'pkgconfig'))
|
| |
|
| | if not is_editable:
|
| |
|
| |
|
| | assert os.path.exists(os.path.join(stdout, 'numpy.pc'))
|
| |
|