test__testutils.py 866 B

12345678910111213141516171819202122232425262728293031323334
  1. from __future__ import division, print_function, absolute_import
  2. import sys
  3. from scipy._lib._testutils import _parse_size, _get_mem_available
  4. import pytest
  5. def test__parse_size():
  6. expected = {
  7. '12': 12e6,
  8. '12 b': 12,
  9. '12k': 12e3,
  10. ' 12 M ': 12e6,
  11. ' 12 G ': 12e9,
  12. ' 12Tb ': 12e12,
  13. '12 Mib ': 12 * 1024.0**2,
  14. '12Tib': 12 * 1024.0**4,
  15. }
  16. for inp, outp in sorted(expected.items()):
  17. if outp is None:
  18. with pytest.raises(ValueError):
  19. _parse_size(inp)
  20. else:
  21. assert _parse_size(inp) == outp
  22. def test__mem_available():
  23. # May return None on non-Linux platforms
  24. available = _get_mem_available()
  25. if sys.platform.startswith('linux'):
  26. assert available >= 0
  27. else:
  28. assert available is None or available >= 0