예제 #1
0
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')
예제 #2
0
 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())
예제 #3
0
 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()))