From c6987b1627bce0857d652bc47132b4f3babcf09d Mon Sep 17 00:00:00 2001 From: Guido Trotter <ultrotter@google.com> Date: Wed, 19 May 2010 17:22:47 +0100 Subject: [PATCH] TestMainloop.testReRun Currently we never do that, but it's nice to know we can restart the mainloop, after termination. Signed-off-by: Guido Trotter <ultrotter@google.com> Reviewed-by: Michael Hanselmann <hansmi@google.com> --- test/ganeti.daemon_unittest.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/test/ganeti.daemon_unittest.py b/test/ganeti.daemon_unittest.py index e9f10bd28..7b0cfe50a 100755 --- a/test/ganeti.daemon_unittest.py +++ b/test/ganeti.daemon_unittest.py @@ -94,6 +94,24 @@ class TestMainloop(testutils.GanetiTestCase): self.assertEquals(self.sendsig_events, [signal.SIGCHLD, signal.SIGTERM]) self.assertEquals(self.onsignal_events, self.sendsig_events) + def testReRun(self): + self.mainloop.RegisterSignal(self) + self.mainloop.scheduler.enter(0.1, 1, self._SendSig, [signal.SIGCHLD]) + self.mainloop.scheduler.enter(0.2, 1, self._SendSig, [signal.SIGCHLD]) + self.mainloop.scheduler.enter(0.3, 1, self._SendSig, [signal.SIGTERM]) + self.mainloop.scheduler.enter(0.4, 1, self._SendSig, [signal.SIGCHLD]) + self.mainloop.scheduler.enter(0.5, 1, self._SendSig, [signal.SIGCHLD]) + self.mainloop.Run() + self.assertEquals(self.sendsig_events, + [signal.SIGCHLD, signal.SIGCHLD, signal.SIGTERM]) + self.assertEquals(self.onsignal_events, self.sendsig_events) + self.mainloop.scheduler.enter(0.3, 1, self._SendSig, [signal.SIGTERM]) + self.mainloop.Run() + self.assertEquals(self.sendsig_events, + [signal.SIGCHLD, signal.SIGCHLD, signal.SIGTERM, + signal.SIGCHLD, signal.SIGCHLD, signal.SIGTERM]) + self.assertEquals(self.onsignal_events, self.sendsig_events) + class _MyAsyncUDPSocket(daemon.AsyncUDPSocket): -- GitLab