test_extending.py 1.1 KB

12345678910111213141516171819202122232425262728
  1. import os
  2. import platform
  3. import sysconfig
  4. import pytest
  5. from scipy._lib._testutils import IS_EDITABLE, _test_cython_extension, cython
  6. @pytest.mark.fail_slow(40)
  7. # essential per https://github.com/scipy/scipy/pull/20487#discussion_r1567057247
  8. @pytest.mark.skipif(IS_EDITABLE,
  9. reason='Editable install cannot find .pxd headers.')
  10. @pytest.mark.skipif((platform.system() == 'Windows' and
  11. sysconfig.get_config_var('Py_GIL_DISABLED')),
  12. reason='gh-22039')
  13. @pytest.mark.skipif(platform.machine() in ["wasm32", "wasm64"],
  14. reason="Can't start subprocess")
  15. @pytest.mark.skipif(cython is None, reason="requires cython")
  16. def test_cython(tmp_path):
  17. srcdir = os.path.dirname(os.path.dirname(__file__))
  18. extensions, extensions_cpp = _test_cython_extension(tmp_path, srcdir)
  19. # actually test the cython c-extensions
  20. # From docstring for scipy.optimize.cython_optimize module
  21. x = extensions.brentq_example()
  22. assert x == 0.6999942848231314
  23. x = extensions_cpp.brentq_example()
  24. assert x == 0.6999942848231314