(monkeypatch)
| 301 | |
| 302 | |
| 303 | def test_distutils_parse_env_order(monkeypatch): |
| 304 | from numpy.distutils.system_info import _parse_env_order |
| 305 | env = 'NPY_TESTS_DISTUTILS_PARSE_ENV_ORDER' |
| 306 | |
| 307 | base_order = list('abcdef') |
| 308 | |
| 309 | monkeypatch.setenv(env, 'b,i,e,f') |
| 310 | order, unknown = _parse_env_order(base_order, env) |
| 311 | assert len(order) == 3 |
| 312 | assert order == list('bef') |
| 313 | assert len(unknown) == 1 |
| 314 | |
| 315 | # For when LAPACK/BLAS optimization is disabled |
| 316 | monkeypatch.setenv(env, '') |
| 317 | order, unknown = _parse_env_order(base_order, env) |
| 318 | assert len(order) == 0 |
| 319 | assert len(unknown) == 0 |
| 320 | |
| 321 | for prefix in '^!': |
| 322 | monkeypatch.setenv(env, f'{prefix}b,i,e') |
| 323 | order, unknown = _parse_env_order(base_order, env) |
| 324 | assert len(order) == 4 |
| 325 | assert order == list('acdf') |
| 326 | assert len(unknown) == 1 |
| 327 | |
| 328 | with pytest.raises(ValueError): |
| 329 | monkeypatch.setenv(env, 'b,^e,i') |
| 330 | _parse_env_order(base_order, env) |
| 331 | |
| 332 | with pytest.raises(ValueError): |
| 333 | monkeypatch.setenv(env, '!b,^e,i') |
| 334 | _parse_env_order(base_order, env) |
nothing calls this directly
no test coverage detected