[svn] commit: r1887 - in /branches/trac185/src/bin/xfrin: tests/xfrin_test.py xfrin.py.in

BIND 10 source code commits bind10-changes at lists.isc.org
Fri May 21 00:57:01 UTC 2010


Author: jinmei
Date: Fri May 21 00:57:01 2010
New Revision: 1887

Log:
return a non OK value when do_xfrin() fails.

Modified:
    branches/trac185/src/bin/xfrin/tests/xfrin_test.py
    branches/trac185/src/bin/xfrin/xfrin.py.in

Modified: branches/trac185/src/bin/xfrin/tests/xfrin_test.py
==============================================================================
--- branches/trac185/src/bin/xfrin/tests/xfrin_test.py (original)
+++ branches/trac185/src/bin/xfrin/tests/xfrin_test.py Fri May 21 00:57:01 2010
@@ -278,21 +278,17 @@
 
     def test_do_xfrin_empty_response(self):
         # skipping the creation of response data, so the transfer will fail.
-        # (but do_xfrin() always return OK.)
-        self.assertEqual(self.conn.do_xfrin(False), XFRIN_OK)
-
-    def test_do_xfrin_empty_response(self):
-        self.assertEqual(self.conn.do_xfrin(False), XFRIN_OK)
+        self.assertEqual(self.conn.do_xfrin(False), XFRIN_FAIL)
 
     def test_do_xfrin_bad_response(self):
         self.conn.response_generator = self._create_broken_response_data
-        self.assertEqual(self.conn.do_xfrin(False), XFRIN_OK)
+        self.assertEqual(self.conn.do_xfrin(False), XFRIN_FAIL)
 
     def test_do_xfrin_dberror(self):
         # DB file is under a non existent directory, so its creation will fail,
         # which will make the transfer fail.
         self.conn._db_file = "not_existent/" + TEST_DB_FILE
-        self.assertEqual(self.conn.do_xfrin(False), XFRIN_OK)
+        self.assertEqual(self.conn.do_xfrin(False), XFRIN_FAIL)
 
     def test_do_soacheck_and_xfrin(self):
         self.conn.response_generator = self._create_soa_response_data
@@ -300,14 +296,14 @@
 
     def test_do_soacheck_broken_response(self):
         self.conn.response_generator = self._create_broken_response_data
-        self.assertEqual(self.conn.do_xfrin(True), XFRIN_OK)
+        self.assertEqual(self.conn.do_xfrin(True), XFRIN_FAIL)
 
     def test_do_soacheck_badqid(self):
         # the QID mismatch would internally trigger a XfrinException exception,
         # and covers part of the code that other tests can't.
         self.soa_response_params['bad_qid'] = True
         self.conn.response_generator = self._create_soa_response_data
-        self.assertEqual(self.conn.do_xfrin(True), XFRIN_OK)
+        self.assertEqual(self.conn.do_xfrin(True), XFRIN_FAIL)
 
     def _handle_xfrin_response(self):
         # This helper methods iterates over all RRs (excluding the ending SOA)

Modified: branches/trac185/src/bin/xfrin/xfrin.py.in
==============================================================================
--- branches/trac185/src/bin/xfrin/xfrin.py.in (original)
+++ branches/trac185/src/bin/xfrin/xfrin.py.in Fri May 21 00:57:01 2010
@@ -50,6 +50,7 @@
 __version__ = 'BIND10'
 # define xfrin rcode
 XFRIN_OK = 0
+XFRIN_FAIL = 1
 
 DEFAULT_MASTER_PORT = '53'
 
@@ -182,21 +183,24 @@
                 ret =  self._check_soa_serial()
             
             logstr = 'transfer of \'%s\': AXFR ' % self._zone_name
-            if ret == XFRIN_OK:    
+            if ret == XFRIN_OK:
                 self.log_msg(logstr + 'started')
                 self._send_query(rr_type.AXFR())
                 isc.datasrc.sqlite3_ds.load(self._db_file, self._zone_name,
                                             self._handle_xfrin_response)
 
                 self.log_msg(logstr + 'succeeded')
+                ret = XFRIN_OK
 
         except XfrinException as e:
             self.log_msg(e)
             self.log_msg(logstr + 'failed')
+            ret = XFRIN_FAIL
             #TODO, recover data source.
         except isc.datasrc.sqlite3_ds.Sqlite3DSError as e:
             self.log_msg(e)
             self.log_msg(logstr + 'failed')
+            ret = XFRIN_FAIL
         except UserWarning as e:
             # XXX: this is an exception from our C++ library via the
             # Boost.Python binding.  It would be better to have more more
@@ -204,6 +208,7 @@
             # granularity.
             self.log_msg(e)
             self.log_msg(logstr + 'failed')
+            ret = XFRIN_FAIL
         finally:
            self.close()
 




More information about the bind10-changes mailing list