cmrit
/
cmrithackathon-master
/.venv
/lib
/python3.11
/site-packages
/numpy
/tests
/test_numpy_config.py
""" | |
Check the numpy config is valid. | |
""" | |
import numpy as np | |
import pytest | |
from unittest.mock import Mock, patch | |
pytestmark = pytest.mark.skipif( | |
not hasattr(np.__config__, "_built_with_meson"), | |
reason="Requires Meson builds", | |
) | |
class TestNumPyConfigs: | |
REQUIRED_CONFIG_KEYS = [ | |
"Compilers", | |
"Machine Information", | |
"Python Information", | |
] | |
def test_pyyaml_not_found(self, mock_yaml_importer): | |
mock_yaml_importer.side_effect = ModuleNotFoundError() | |
with pytest.warns(UserWarning): | |
np.show_config() | |
def test_dict_mode(self): | |
config = np.show_config(mode="dicts") | |
assert isinstance(config, dict) | |
assert all([key in config for key in self.REQUIRED_CONFIG_KEYS]), ( | |
"Required key missing," | |
" see index of `False` with `REQUIRED_CONFIG_KEYS`" | |
) | |
def test_invalid_mode(self): | |
with pytest.raises(AttributeError): | |
np.show_config(mode="foo") | |
def test_warn_to_add_tests(self): | |
assert len(np.__config__.DisplayModes) == 2, ( | |
"New mode detected," | |
" please add UT if applicable and increment this count" | |
) | |