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
Example #2
0
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
Example #3
0
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
Example #4
0
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