Esempio n. 1
0
def test_ps_auxww_with_bad_input():
    # test with bad input
    d1 = ps.PsAuxww(context_wrap(PsAuxcww_BAD))
    assert 'test' not in d1

    with pytest.raises(ParseException) as exc:
        d2 = ps.PsAuxww(context_wrap(Ps_BAD))
        assert d2 is None
    assert 'PsAuxww: Cannot find ps header line containing' in str(exc)
Esempio n. 2
0
def test_doc_examples():
    env = {
        'ps': ps.PsAuxww(context_wrap(PsAuxww_TEST_DOC)),
        'ps_auxww': ps.PsAuxww(context_wrap(PsAuxww_TEST_DOC)),
        'ps_ef': ps.PsEf(context_wrap(PsEf_TEST_DOC)),
        'ps_eo': ps.PsEo(context_wrap(PsEo_TEST_DOC, strip=False)),
        'ps_alxwww': ps.PsAlxwww(context_wrap(PsAlxwww_TEST_DOC)),
        'ps_eo_cmd': ps.PsEoCmd(context_wrap(PsEoCmd_TEST_DOC))
    }
    failed, total = doctest.testmod(ps, globs=env)
    assert failed == 0
Esempio n. 3
0
def test_ps_auxww_from_aux():
    # test with input from `ps aux`
    p = ps.PsAuxww(context_wrap(PsAux_TEST))
    d = p.data
    assert all('COMMAND' in row for row in d)
    assert keys_in([
        "USER", "PID", "%CPU", "%MEM", "VSZ", "RSS", "TTY", "STAT", "START",
        "TIME", "COMMAND"
    ], d[0])
    assert d[0] == {
        '%MEM': '0.0', 'TTY': '?', 'VSZ': '19356', 'PID': '1', '%CPU': '0.0',
        'START': 'May31', 'COMMAND': '/sbin/init', 'COMMAND_NAME': 'init', 'USER': '******',
        'STAT': 'Ss', 'TIME': '0:01', 'RSS': '1544', 'ARGS': ''
    }
    assert p.fuzzy_match('irqbal')
    assert 'bash' in p
    assert '/sbin/init' in p
    assert 'sshd' not in p
    assert 'kondemand' not in p
    assert not p.fuzzy_match("sshd")
    assert p.number_occurences("systemd") != 2
    assert p.number_occurences("bash") == 1
    assert p.fuzzy_match('kondemand')

    assert p.search() == []
    assert p.search(COMMAND__contains='java') == [p.data[6]]
    assert p.search(USER='******', COMMAND__contains='kondemand') == [p.data[1]]
    assert p.search(TTY='pts/3') == [p.data[3]]
    assert p.search(STAT__contains='Z') == []
Esempio n. 4
0
def test_ps_auxww_from_auxwww():
    # test with input from `ps auxwww`
    p = ps.PsAuxww(context_wrap(PS_AUXWWW))
    d = p.data
    assert all('COMMAND' in row for row in d)
    assert keys_in([
        "USER", "PID", "%CPU", "%MEM", "VSZ", "RSS", "TTY", "STAT", "START",
        "TIME", "COMMAND"
    ], d[0])
    assert d[0] == {
        'USER': '******', 'PID': '1', '%CPU': '0.0', '%MEM': '0.0',
        'VSZ': '21452', 'RSS': '1536', 'TTY': '?', 'STAT': 'Ss',
        'START': 'Mar09', 'TIME': '0:01', 'COMMAND': '/sbin/init',
        'COMMAND_NAME': 'init', 'ARGS': '',
    }
    assert p.fuzzy_match('kthread')
    assert '-bash' in p
    assert '/sbin/init' in p
    assert 'sshd' not in p
    assert 'kthread' not in p
    assert not p.fuzzy_match("sshd")
    assert p.number_occurences("python") == 1
    assert p.number_occurences("sshd") != 2
    assert p.fuzzy_match('python')

    assert p.search() == []
    assert p.search(COMMAND__contains='rsyslogd') == [p.data[3]]
    assert p.search(USER='******', COMMAND__contains='kthread') == [p.data[1]]
    assert p.search(TTY='tty1') == [p.data[7], p.data[8]]
    assert p.search(STAT__contains='Z') == []
Esempio n. 5
0
def test_ps_auxww_from_auxcww():
    # test with input from `ps auxcww`
    p = ps.PsAuxww(context_wrap(PsAuxcww_TEST))
    d = p.data
    assert all('COMMAND' in row for row in d)
    assert keys_in([
        "USER", "PID", "%CPU", "%MEM", "VSZ", "RSS", "TTY", "STAT", "START",
        "TIME", "COMMAND"
    ], d[0])
    assert d[0] == {
        '%MEM': '0.0', 'TTY': '?', 'VSZ': '19356', 'PID': '1', '%CPU': '0.0',
        'START': 'May31', 'COMMAND': 'init', 'COMMAND_NAME': 'init', 'USER': '******', 'STAT': 'Ss',
        'TIME': '0:01', 'RSS': '1544', 'ARGS': '',
    }
    assert d[2]["COMMAND"] == 'irqbalance'
    assert d[-2]["COMMAND"] == 'qemu-kvm'
    assert p.fuzzy_match('irqbal')
    assert p.number_occurences("bash") == 3
    assert p.number_occurences("qemu-kvm") != 2
    assert 'dhclient' in p
    assert 'sshd' not in p
    assert not p.fuzzy_match("sshd")
    assert p.cpu_usage('dhclient') == '0.0'
    assert p.cpu_usage('java') is None

    assert p.users('bash') == {'user1': ['20160'], 'user2': ['20161', '20164']}
Esempio n. 6
0
def test_ps_auxww_from_auxww():
    # test with input from `ps auxww`
    p = ps.PsAuxww(context_wrap(PsAuxww_TEST))
    d = p.data
    assert all('COMMAND' in row for row in d)
    assert keys_in([
        "USER", "PID", "%CPU", "%MEM", "VSZ", "RSS", "TTY", "STAT", "START",
        "TIME", "COMMAND"
    ], d[0])
    assert d[0] == {
        '%MEM': '0.0',
        'TTY': '?',
        'VSZ': '193892',
        'PID': '1',
        '%CPU': '0.0',
        'START': 'Oct23',
        'USER': '******',
        'STAT': 'Ss',
        'TIME': '1:40',
        'RSS': '5000',
        'COMMAND':
        '/usr/lib/systemd/systemd --switched-root --system --deserialize 22',
        'COMMAND_NAME': 'systemd',
        'ARGS': '--switched-root --system --deserialize 22',
    }
    assert d[2]["COMMAND"] == '/usr/lib/systemd/systemd-journald'
    assert d[-2] == {
        'USER': '******',
        'PID': '2713',
        '%CPU': '2.4',
        '%MEM': '19.2',
        'VSZ': '12508144',
        'RSS': '3077224',
        'TTY': '?',
        'STAT': 'Sl',
        'START': 'Nov21',
        'TIME': '533:33',
        'COMMAND': '/usr/lib64/firefox/firefox',
        'COMMAND_NAME': 'firefox',
        'ARGS': '',
    }
    assert p.fuzzy_match('kthreadd')
    assert '[kthreadd]' in p
    assert 'sshd' not in p
    assert not p.fuzzy_match("sshd")
    assert p.number_occurences("systemd") == 2
    assert p.number_occurences("openshift") != 2
    assert p.cpu_usage('/usr/lib64/firefox/firefox') == '2.4'
    assert p.cpu_usage('firefox') is None
    assert p.cpu_usage('dhclient') is None
    assert p.cpu_usage('java') is None
    assert p.running_pids() == [
        '1', '2', '781', '1111', '1112', '2713', '8257'
    ]

    # Test __iter__
    assert 13718356 == sum(int(proc['VSZ']) for proc in p)
Esempio n. 7
0
def test_ps_auxww_with_late_header():
    p = ps.PsAuxww(context_wrap(PS_AUXWW_WITH_LATE_HEADER))
    assert '[kthreadd]' in p
    assert p.data[0][
        'COMMAND'] == '/usr/lib/systemd/systemd --switched-root --system --deserialize 21'