test_import_cycles.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import sys
  2. import subprocess
  3. MODULES = [
  4. "scipy.cluster",
  5. "scipy.cluster.vq",
  6. "scipy.cluster.hierarchy",
  7. "scipy.constants",
  8. "scipy.fft",
  9. "scipy.fftpack",
  10. "scipy.fftpack.convolve",
  11. "scipy.integrate",
  12. "scipy.interpolate",
  13. "scipy.io",
  14. "scipy.io.arff",
  15. "scipy.io.harwell_boeing",
  16. "scipy.io.idl",
  17. "scipy.io.matlab",
  18. "scipy.io.netcdf",
  19. "scipy.io.wavfile",
  20. "scipy.linalg",
  21. "scipy.linalg.blas",
  22. "scipy.linalg.cython_blas",
  23. "scipy.linalg.lapack",
  24. "scipy.linalg.cython_lapack",
  25. "scipy.linalg.interpolative",
  26. "scipy.misc",
  27. "scipy.ndimage",
  28. "scipy.odr",
  29. "scipy.optimize",
  30. "scipy.signal",
  31. "scipy.signal.windows",
  32. "scipy.sparse",
  33. "scipy.sparse.linalg",
  34. "scipy.sparse.csgraph",
  35. "scipy.spatial",
  36. "scipy.spatial.distance",
  37. "scipy.special",
  38. "scipy.stats",
  39. "scipy.stats.distributions",
  40. "scipy.stats.mstats",
  41. "scipy.stats.contingency"
  42. ]
  43. def test_modules_importable():
  44. # Regression test for gh-6793.
  45. # Check that all modules are importable in a new Python process.
  46. # This is not necessarily true if there are import cycles present.
  47. for module in MODULES:
  48. cmd = 'import {}'.format(module)
  49. subprocess.check_call([sys.executable, '-c', cmd])