35 lines
866 B
Python
35 lines
866 B
Python
|
from __future__ import division, print_function, absolute_import
|
||
|
|
||
|
import sys
|
||
|
from scipy._lib._testutils import _parse_size, _get_mem_available
|
||
|
import pytest
|
||
|
|
||
|
|
||
|
def test__parse_size():
|
||
|
expected = {
|
||
|
'12': 12e6,
|
||
|
'12 b': 12,
|
||
|
'12k': 12e3,
|
||
|
' 12 M ': 12e6,
|
||
|
' 12 G ': 12e9,
|
||
|
' 12Tb ': 12e12,
|
||
|
'12 Mib ': 12 * 1024.0**2,
|
||
|
'12Tib': 12 * 1024.0**4,
|
||
|
}
|
||
|
|
||
|
for inp, outp in sorted(expected.items()):
|
||
|
if outp is None:
|
||
|
with pytest.raises(ValueError):
|
||
|
_parse_size(inp)
|
||
|
else:
|
||
|
assert _parse_size(inp) == outp
|
||
|
|
||
|
|
||
|
def test__mem_available():
|
||
|
# May return None on non-Linux platforms
|
||
|
available = _get_mem_available()
|
||
|
if sys.platform.startswith('linux'):
|
||
|
assert available >= 0
|
||
|
else:
|
||
|
assert available is None or available >= 0
|