def test_using_huge_pages(): t = ["AnonHugePages: 135168 kB", "HugePages_Total: 0"] m = meminfo.MemInfo(context_wrap(t)) assert not m.huge_pages.using assert m.huge_pages.using_transparent t = ["AnonHugePages: 0 kB", "HugePages_Total: 123456"] m = meminfo.MemInfo(context_wrap(t)) assert m.huge_pages.using assert not m.huge_pages.using_transparent
def test_using_huge_pages(): t = ["AnonHugePages: 135168 kB", "HugePages_Total: 0"] m = meminfo.MemInfo(context_wrap(t)) assert not m.huge_pages.using assert m.huge_pages.using_transparent t = [ "AnonHugePages: 0 kB", "HugePages_Total: 123456", "HugePages_Rsvd: 4096", ] m = meminfo.MemInfo(context_wrap(t)) assert m.huge_pages.using assert not m.huge_pages.using_transparent assert m.huge_pages.total == 123456 assert m.huge_pages.reserved == 4096
def test_meminfo(): values = [] for l in MEMINFO.splitlines(): values.append(l.split()[1].strip()) m = meminfo.MemInfo(context_wrap(MEMINFO)) actual = [ m.total, m.free, m.available, m.buffers, m.cached, m.swap.cached, m.active, m.inactive, m.anon.active, m.anon.inactive, m.file.active, m.file.inactive, m.unevictable, m.mlocked, m.swap.total, m.swap.free, m.dirty, m.writeback, m.anon.pages, m.mapped, m.shmem, m.slab.total, m.slab.reclaimable, m.slab.unreclaimable, m.kernel_stack, m.page_tables, m.nfs_unstable, m.bounce, m.writeback_tmp, m.commit.limit, m.commit.total, m.vmalloc.total, m.vmalloc.used, m.vmalloc.chunk, m.corrupted, m.huge_pages.anon, m.huge_pages.total, m.huge_pages.free, m.huge_pages.reserved, m.huge_pages.surplus, m.huge_pages.size, m.direct_map.kb, m.direct_map.mb ] for i in range(len(actual)): assert isinstance( actual[i], int), "Line %d's value is not an int: %s" % (i, type(actual[i])) assert actual[i] == int( values[i]) * 1024, "Line %d failed to match" % i assert m.swap.used == (int(values[14]) - int(values[15]) - int(values[5])) * 1024 assert m.used == (8009912 - 538760) * 1024
def test_meminfo_short(): # Test the various calculated properties when little or no data is # available. m = meminfo.MemInfo(context_wrap(MEMINFO_SHORT)) with pytest.raises(TypeError): assert m.swap.used is None with pytest.raises(TypeError): assert m.used is None