]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[2353] Test defaults for BoB.start_cfgmgr()
authorMukund Sivaraman <muks@isc.org>
Sun, 18 Nov 2012 22:33:42 +0000 (04:03 +0530)
committerMukund Sivaraman <muks@isc.org>
Sun, 18 Nov 2012 22:33:42 +0000 (04:03 +0530)
src/bin/bind10/bind10_src.py.in
src/bin/bind10/tests/bind10_test.py.in

index 6784fa3192737984d220b4a3f341a1cb636c165c..6d64c305c560581410a81e4579913e8592d86930 100755 (executable)
@@ -464,8 +464,8 @@ class BoB:
             args.append("--config-filename=" + self.config_filename)
         if self.clear_config:
             args.append("--clear-config")
-        bind_cfgd = ProcessInfo("b10-cfgmgr", args,
-                                self.c_channel_env)
+        bind_cfgd = self._make_process_info("b10-cfgmgr", args,
+                                            self.c_channel_env)
         bind_cfgd.spawn()
         self.log_started(bind_cfgd.pid)
 
@@ -479,7 +479,8 @@ class BoB:
             time_remaining = time_remaining - 1
             msg, env = self.cc_session.group_recvmsg()
         
-        if not self.process_running(msg, "ConfigManager"):
+        # wait_time is set to 0 only by unittests
+        if self.wait_time > 0 and not self.process_running(msg, "ConfigManager"):
             raise ProcessStartError("Configuration manager process has not started")
 
         return bind_cfgd
index b599b84f68e249af108fa8d8b99b96cd14985bab..74faf98ef448ad43da129cba95e204b1bcf192d4 100644 (file)
@@ -1590,6 +1590,28 @@ class TestBossComponents(unittest.TestCase):
         # this is set by ProcessInfo.spawn()
         self.assertEqual(42147, pi.pid)
 
+    def test_start_cfgmgr(self):
+        '''Test that b10-msgq is started.'''
+        class DummySession():
+            def group_recvmsg(self):
+                return (None, None)
+        bob = MockBobSimple()
+        bob.c_channel_env = {}
+        bob.cc_session = DummySession()
+        bob.wait_time = 0
+
+        # use the MockProcessInfo creator
+        bob._make_process_info = bob._make_mock_process_info
+
+        # defaults
+        pi = bob.start_cfgmgr()
+        self.assertEqual('b10-cfgmgr', pi.name)
+        self.assertEqual(['b10-cfgmgr'], pi.args)
+        self.assertEqual({}, pi.env)
+
+        # this is set by ProcessInfo.spawn()
+        self.assertEqual(42147, pi.pid)
+
     def test_start_process(self):
         '''Test that processes can be started.'''
         bob = MockBob()