BIND 10 trac2353, updated. a9ebc379b9d2f2501c8a4d497bb715f6c100cea8 [2353] Test options for BoB.start_cfgmgr()

BIND 10 source code commits bind10-changes at lists.isc.org
Sun Nov 18 22:39:46 UTC 2012


The branch, trac2353 has been updated
       via  a9ebc379b9d2f2501c8a4d497bb715f6c100cea8 (commit)
       via  1ab0c5acf4fa6b8a1a99068685bb2a27d6dd3dc8 (commit)
      from  15249e567c9cfae135c1a2bc1a110b4a635b11ab (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit a9ebc379b9d2f2501c8a4d497bb715f6c100cea8
Author: Mukund Sivaraman <muks at isc.org>
Date:   Mon Nov 19 04:06:55 2012 +0530

    [2353] Test options for BoB.start_cfgmgr()

commit 1ab0c5acf4fa6b8a1a99068685bb2a27d6dd3dc8
Author: Mukund Sivaraman <muks at isc.org>
Date:   Mon Nov 19 04:03:42 2012 +0530

    [2353] Test defaults for BoB.start_cfgmgr()

-----------------------------------------------------------------------

Summary of changes:
 src/bin/bind10/bind10_src.py.in        |    7 ++--
 src/bin/bind10/tests/bind10_test.py.in |   61 ++++++++++++++++++++++++++++++++
 2 files changed, 65 insertions(+), 3 deletions(-)

-----------------------------------------------------------------------
diff --git a/src/bin/bind10/bind10_src.py.in b/src/bin/bind10/bind10_src.py.in
index 6784fa3..6d64c30 100755
--- a/src/bin/bind10/bind10_src.py.in
+++ b/src/bin/bind10/bind10_src.py.in
@@ -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
diff --git a/src/bin/bind10/tests/bind10_test.py.in b/src/bin/bind10/tests/bind10_test.py.in
index b599b84..f528ca0 100644
--- a/src/bin/bind10/tests/bind10_test.py.in
+++ b/src/bin/bind10/tests/bind10_test.py.in
@@ -1590,6 +1590,67 @@ 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)
+
+        # data_path is specified
+        bob.data_path = '/var/lib/test'
+        pi = bob.start_cfgmgr()
+        self.assertEqual('b10-cfgmgr', pi.name)
+        self.assertEqual(['b10-cfgmgr',
+                          '--data-path=/var/lib/test'],
+                         pi.args)
+        self.assertEqual({}, pi.env)
+
+        # this is set by ProcessInfo.spawn()
+        self.assertEqual(42147, pi.pid)
+
+        # config_filename is specified
+        bob.config_filename = 'foo.cfg'
+        pi = bob.start_cfgmgr()
+        self.assertEqual('b10-cfgmgr', pi.name)
+        self.assertEqual(['b10-cfgmgr',
+                          '--data-path=/var/lib/test',
+                          '--config-filename=foo.cfg'],
+                         pi.args)
+        self.assertEqual({}, pi.env)
+
+        # this is set by ProcessInfo.spawn()
+        self.assertEqual(42147, pi.pid)
+
+        # clear_config is specified
+        bob.clear_config = True
+        pi = bob.start_cfgmgr()
+        self.assertEqual('b10-cfgmgr', pi.name)
+        self.assertEqual(['b10-cfgmgr',
+                          '--data-path=/var/lib/test',
+                          '--config-filename=foo.cfg',
+                          '--clear-config'],
+                         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()



More information about the bind10-changes mailing list