1
from twisted.internet.defer import Deferred
3
from landscape.sysinfo.sysinfo import SysInfoPluginRegistry
4
from landscape.sysinfo.processes import Processes
5
from landscape.tests.helpers import LandscapeTest, ProcessDataBuilder
8
class ProcessesTest(LandscapeTest):
11
super(ProcessesTest, self).setUp()
12
self.fake_proc = self.make_dir()
13
self.processes = Processes(proc_dir=self.fake_proc)
14
self.sysinfo = SysInfoPluginRegistry()
15
self.sysinfo.add(self.processes)
16
self.builder = ProcessDataBuilder(self.fake_proc)
18
def test_run_returns_succeeded_deferred(self):
19
result = self.processes.run()
20
self.assertTrue(isinstance(result, Deferred))
24
result.addCallback(callback)
25
self.assertTrue(called)
27
def test_number_of_processes(self):
28
"""The number of processes is added as a header."""
30
self.builder.create_data(i, self.builder.RUNNING, uid=0, gid=0,
31
process_name="foo%d" % (i,))
33
self.assertEquals(self.sysinfo.get_headers(),
36
def test_no_zombies(self):
38
self.assertEquals(self.sysinfo.get_notes(), [])
40
def test_number_of_zombies(self):
41
"""The number of zombies is added as a note."""
42
self.builder.create_data(99, self.builder.ZOMBIE, uid=0, gid=0,
43
process_name="ZOMBERS")
45
self.assertEquals(self.sysinfo.get_notes(),
46
["There is 1 zombie process."])
48
def test_multiple_zombies(self):
49
"""Stupid English, and its plurality"""
51
self.builder.create_data(i, self.builder.ZOMBIE, uid=0, gid=0,
52
process_name="ZOMBERS%d" % (i,))
54
self.assertEquals(self.sysinfo.get_notes(),
55
["There are 2 zombie processes."])