Browse Source

Improve test coverage

tags/nilmdb-2.0.0
Jim Paris 4 years ago
parent
commit
efbb2665fe
2 changed files with 27 additions and 5 deletions
  1. +4
    -5
      nilmdb/utils/diskusage.py
  2. +23
    -0
      tests/test_misc.py

+ 4
- 5
nilmdb/utils/diskusage.py View File

@@ -11,10 +11,9 @@ def human_size(num):
unit, num_decimals = unit_list[exponent]
format_string = '{:.%sf} {}' % (num_decimals)
return format_string.format(quotient, unit)
if num == 0: # pragma: no cover
return '0 bytes'
if num == 1: # pragma: no cover
elif num == 1:
return '1 byte'
return '0 bytes'

def du(path):
"""Like du -sb, returns total size of path in bytes. Ignore
@@ -28,7 +27,7 @@ def du(path):
filepath = os.path.join(path, thisfile)
size += du(filepath)
return size
except OSError as e: # pragma: no cover
if e.errno != errno.ENOENT:
except OSError as e:
if e.errno != errno.ENOENT: # pragma: no cover
raise
return 0

+ 23
- 0
tests/test_misc.py View File

@@ -70,3 +70,26 @@ class TestMisc(object):
nilmdb.utils.fallocate.punch_hole("/", 1, 1, False)
# no exception because we ignore errors by default
nilmdb.utils.fallocate.punch_hole(fn, 1, -1)

def test_diskusage(self):
hs = nilmdb.utils.diskusage.human_size
eq_(hs(0), "0 bytes")
eq_(hs(1), "1 byte")
eq_(hs(1023), "1023 bytes")

eq_(hs(1024), "1 kiB")

eq_(hs(1048575), "1024 kiB")
eq_(hs(1048576), "1.0 MiB")

eq_(hs(1073741823), "1024.0 MiB")
eq_(hs(1073741824), "1.00 GiB")

eq_(hs(1099511627775), "1024.00 GiB")
eq_(hs(1099511627776), "1.00 TiB")

eq_(hs(1099511627776 * 5000.1234), "5000.12 TiB")

nilmdb.utils.diskusage.du("/dev")
with assert_raises(OSError):
nilmdb.utils.diskusage.du("/dev/null/bogus")

Loading…
Cancel
Save