def make_spm_mailbox(mboxfiles): mailbox = sm.SPM_MailMonitor(SPUUID, MAX_HOSTS, inbox=mboxfiles.inbox, outbox=mboxfiles.outbox, monitorInterval=MONITOR_INTERVAL) mailbox.start() try: yield mailbox finally: mailbox.stop() if not mailbox.wait(timeout=MAILER_TIMEOUT): raise RuntimeError('Timemout waiting for spm mailbox')
def test_thread_leak(self, mboxfiles): thread_count = len(threading.enumerate()) mailer = sm.SPM_MailMonitor( SPUUID, 100, inbox=mboxfiles.inbox, outbox=mboxfiles.outbox, monitorInterval=MONITOR_INTERVAL) mailer.start() try: mailer.stop() finally: assert mailer.wait(timeout=MAILER_TIMEOUT), \ 'mailer.wait: Timeout expired' assert thread_count == len(threading.enumerate())
def testThreadLeak(self): threadCount = len(threading.enumerate()) with make_env() as env: mailer = sm.SPM_MailMonitor( SPUUID, 100, inbox=env.inbox, outbox=env.outbox, monitorInterval=MONITOR_INTERVAL) try: mailer.stop() finally: self.assertTrue( mailer.wait(timeout=MAILER_TIMEOUT), msg='mailer.wait: Timeout expired') self.assertEqual(threadCount, len(threading.enumerate()))