[svn] commit: r1569 - in /trunk/src/bin/xfrin: unittest/xfrin_test.py xfrin.py.in
BIND 10 source code commits
bind10-changes at lists.isc.org
Fri Mar 19 03:54:29 UTC 2010
Author: zhanglikun
Date: Fri Mar 19 03:54:28 2010
New Revision: 1569
Log:
Fix bug, when user doesn't enter the port number for xfrin command, the xfrin shouldn't crash.
Modified:
trunk/src/bin/xfrin/unittest/xfrin_test.py
trunk/src/bin/xfrin/xfrin.py.in
Modified: trunk/src/bin/xfrin/unittest/xfrin_test.py
==============================================================================
--- trunk/src/bin/xfrin/unittest/xfrin_test.py (original)
+++ trunk/src/bin/xfrin/unittest/xfrin_test.py Fri Mar 19 03:54:28 2010
@@ -31,14 +31,25 @@
args['zone_name'] = 'sd.cn.'
args['port'] = '12345'
args['master'] = '218.241.108.122'
+ args['db_file'] = '/home/tt'
name, master, port, db_file = xfr._parse_cmd_params(args)
self.assertEqual(port, 12345)
self.assertEqual(name, 'sd.cn.')
self.assertEqual(master, '218.241.108.122')
- self.assertEqual(db_file, '/tmp/zone.sqlite3')
+ self.assertEqual(db_file, '/home/tt')
+ def test_parse_cmd_params_1(self):
+ xfr = MyXfrin()
+ args = {}
+ args['port'] = '12345'
+ args['master'] = '218.241.108.122'
+ args['db_file'] = '/home/tt'
+ self.assertRaises(XfrinException, xfr._parse_cmd_params, args)
+ self.assertRaises(XfrinException, xfr._parse_cmd_params, {'zone_name':'ds.cn.', 'master':'3.3.3'})
+ self.assertRaises(XfrinException, xfr._parse_cmd_params, {'zone_name':'ds.cn.'})
+ self.assertRaises(XfrinException, xfr._parse_cmd_params, {'master':'ds.cn.'})
if __name__== "__main__":
Modified: trunk/src/bin/xfrin/xfrin.py.in
==============================================================================
--- trunk/src/bin/xfrin/xfrin.py.in (original)
+++ trunk/src/bin/xfrin/xfrin.py.in Fri Mar 19 03:54:28 2010
@@ -372,14 +372,20 @@
return answer
def _parse_cmd_params(self, args):
- zone_name = args['zone_name']
- master = args['master']
+ zone_name = args.get('zone_name')
+ if not zone_name:
+ raise XfrinException('zone name should be provided')
+
+ master = args.get('master')
+ if not master:
+ raise XfrinException('master address should be provided')
+
check_addr(master)
- port = int(args.get('port'))
- if port:
+ port = 53
+ port_str = args.get('port')
+ if port_str:
+ port = int(port_str)
check_port(port)
- else:
- port = 53
db_file = args.get('db_file')
if not db_file:
More information about the bind10-changes
mailing list