[svn] commit: r2521 - in /branches/trac277/src/bin/cmdctl: TODO cmdctl.py.in tests/cmdctl_test.py

BIND 10 source code commits bind10-changes at lists.isc.org
Fri Jul 16 08:26:09 UTC 2010


Author: zhanglikun
Date: Fri Jul 16 08:26:08 2010
New Revision: 2521

Log:
1. Raise CmdctlException instead of exiting when port is used by other processes. 2. Make error message be more accurate.

Modified:
    branches/trac277/src/bin/cmdctl/TODO
    branches/trac277/src/bin/cmdctl/cmdctl.py.in
    branches/trac277/src/bin/cmdctl/tests/cmdctl_test.py

Modified: branches/trac277/src/bin/cmdctl/TODO
==============================================================================
--- branches/trac277/src/bin/cmdctl/TODO (original)
+++ branches/trac277/src/bin/cmdctl/TODO Fri Jul 16 08:26:08 2010
@@ -3,4 +3,5 @@
 . Add check for the content of key/certificate file
   (when cmdctl starts or is configured by bindctl).
 . Use only one msgq/session to communicate with other modules?
+. Add more test cases.
 

Modified: branches/trac277/src/bin/cmdctl/cmdctl.py.in
==============================================================================
--- branches/trac277/src/bin/cmdctl/cmdctl.py.in (original)
+++ branches/trac277/src/bin/cmdctl/cmdctl.py.in Fri Jul 16 08:26:08 2010
@@ -444,8 +444,7 @@
         try:
             http.server.HTTPServer.__init__(self, server_address, RequestHandlerClass)
         except socket.error as err:
-            sys.stderr.write("[b10-cmdctl] Error creating b10-cmdctl, because: %s \n" % str(err))
-            sys.exit(0)
+            raise CmdctlException("Error creating server, because: %s \n" % str(err))
 
         self.user_sessions = {}
         self.idle_timeout = idle_timeout
@@ -598,11 +597,13 @@
     (options, args) = parser.parse_args()
     try:
         run(options.addr, options.port, options.idle_timeout, options.verbose)
-    except isc.cc.SessionError as se:
+    except isc.cc.SessionError as err:
         sys.stderr.write("[b10-cmdctl] Error creating b10-cmdctl, "
                          "is the command channel daemon running?\n")        
     except KeyboardInterrupt:
         sys.stderr.write("[b10-cmdctl] exit from Cmdctl\n")
+    except CmdctlException as err:
+        sys.stderr.write("[b10-cmdctl] " + str(err) + "\n")
 
     if httpd:
         httpd.shutdown()

Modified: branches/trac277/src/bin/cmdctl/tests/cmdctl_test.py
==============================================================================
--- branches/trac277/src/bin/cmdctl/tests/cmdctl_test.py (original)
+++ branches/trac277/src/bin/cmdctl/tests/cmdctl_test.py Fri Jul 16 08:26:08 2010
@@ -397,13 +397,13 @@
     def test_addr_in_use(self):
         server_one = None
         try:
-            server_one = SecureHTTPServer(('localhost', 8080),
+            server_one = SecureHTTPServer(('localhost', 53531),
                                         MySecureHTTPRequestHandler,
                                         MyCommandControl)
-        except SystemExit:
+        except CmdctlException:
             pass
         else:
-            self.assertRaises(SystemExit, SecureHTTPServer, ('localhost', 8080), 
+            self.assertRaises(CmdctlException, SecureHTTPServer, ('localhost', 53531), 
                               MySecureHTTPRequestHandler, MyCommandControl)
         if server_one:
             server_one.server_close()




More information about the bind10-changes mailing list