def tearDown(self): self.testInit.clearDatabase() self.testInit.delWorkDir() self.generator = None utils.terminateProcesses(self.testProcesses) # if the directory and file "/tmp/TestComponent/Daemon.xml" after # ComponentsPoller test exist, then delete it d = os.path.dirname(self.testComponentDaemonXml) if os.path.exists(d): shutil.rmtree(d)
def testProcessDetailBasic(self): p = utils.getProcess() self.testProcesses.append(p) name = "mytestprocess" pd = ProcessDetail(p.pid, name) self.assertEqual(pd.pid, p.pid) self.assertEqual(pd.name, name) self.assertEqual(pd.proc.pid, p.pid) self.assertEqual(len(pd.children), 0) self.assertEqual(len(pd.allProcs), 1) utils.terminateProcesses(self.testProcesses) d = pd.getDetails() self.assertEqual(d["pid"], p.pid) self.assertEqual(d["component"], name) self.assertEqual(d["numChildrenProcesses"], 0)
def testProcessDetailChildren(self): numSubProcesses = 3 p = utils.getProcess(numChildren = numSubProcesses) self.testProcesses.append(p) # wait until all desired processes are running while len(psutil.Process(p.pid).get_children()) < numSubProcesses: print "waiting for children processes to start" time.sleep(0.5) name = "mytestprocess2" pd = ProcessDetail(p.pid, name) self.assertEqual(pd.proc.pid, p.pid) self.assertEqual(len(pd.children), numSubProcesses) self.assertEqual(len(pd.allProcs), numSubProcesses + 1) utils.terminateProcesses(self.testProcesses) d = pd.getDetails() self.assertEqual(d["pid"], p.pid) self.assertEqual(d["numChildrenProcesses"], numSubProcesses)
def tearDown(self): self.testInit.delWorkDir() self.generator = None utils.terminateProcesses(self.testProcesses)