done
This commit is contained in:
		
							
								
								
									
										48
									
								
								lib/python3.11/site-packages/numpy/tests/test_configtool.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								lib/python3.11/site-packages/numpy/tests/test_configtool.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,48 @@
 | 
			
		||||
import importlib
 | 
			
		||||
import importlib.metadata
 | 
			
		||||
import os
 | 
			
		||||
import pathlib
 | 
			
		||||
import subprocess
 | 
			
		||||
 | 
			
		||||
import pytest
 | 
			
		||||
 | 
			
		||||
import numpy as np
 | 
			
		||||
import numpy._core.include
 | 
			
		||||
import numpy._core.lib.pkgconfig
 | 
			
		||||
from numpy.testing import IS_EDITABLE, IS_INSTALLED, IS_WASM, NUMPY_ROOT
 | 
			
		||||
 | 
			
		||||
INCLUDE_DIR = NUMPY_ROOT / '_core' / 'include'
 | 
			
		||||
PKG_CONFIG_DIR = NUMPY_ROOT / '_core' / 'lib' / 'pkgconfig'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@pytest.mark.skipif(not IS_INSTALLED, reason="`numpy-config` not expected to be installed")
 | 
			
		||||
@pytest.mark.skipif(IS_WASM, reason="wasm interpreter cannot start subprocess")
 | 
			
		||||
class TestNumpyConfig:
 | 
			
		||||
    def check_numpyconfig(self, arg):
 | 
			
		||||
        p = subprocess.run(['numpy-config', arg], capture_output=True, text=True)
 | 
			
		||||
        p.check_returncode()
 | 
			
		||||
        return p.stdout.strip()
 | 
			
		||||
 | 
			
		||||
    def test_configtool_version(self):
 | 
			
		||||
        stdout = self.check_numpyconfig('--version')
 | 
			
		||||
        assert stdout == np.__version__
 | 
			
		||||
 | 
			
		||||
    def test_configtool_cflags(self):
 | 
			
		||||
        stdout = self.check_numpyconfig('--cflags')
 | 
			
		||||
        assert f'-I{os.fspath(INCLUDE_DIR)}' in stdout
 | 
			
		||||
 | 
			
		||||
    def test_configtool_pkgconfigdir(self):
 | 
			
		||||
        stdout = self.check_numpyconfig('--pkgconfigdir')
 | 
			
		||||
        assert pathlib.Path(stdout) == PKG_CONFIG_DIR
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@pytest.mark.skipif(not IS_INSTALLED, reason="numpy must be installed to check its entrypoints")
 | 
			
		||||
def test_pkg_config_entrypoint():
 | 
			
		||||
    (entrypoint,) = importlib.metadata.entry_points(group='pkg_config', name='numpy')
 | 
			
		||||
    assert entrypoint.value == numpy._core.lib.pkgconfig.__name__
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@pytest.mark.skipif(not IS_INSTALLED, reason="numpy.pc is only available when numpy is installed")
 | 
			
		||||
@pytest.mark.skipif(IS_EDITABLE, reason="editable installs don't have a numpy.pc")
 | 
			
		||||
def test_pkg_config_config_exists():
 | 
			
		||||
    assert PKG_CONFIG_DIR.joinpath('numpy.pc').is_file()
 | 
			
		||||
		Reference in New Issue
	
	Block a user