Author: rhs
Date: Sun Oct 11 20:38:06 2009
New Revision: 824144

URL: http://svn.apache.org/viewvc?rev=824144&view=rev
Log:
added check for target and source being None

Modified:
    qpid/trunk/qpid/python/qpid/driver.py
    qpid/trunk/qpid/python/qpid/tests/messaging.py

Modified: qpid/trunk/qpid/python/qpid/driver.py
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/python/qpid/driver.py?rev=824144&r1=824143&r2=824144&view=diff
==============================================================================
--- qpid/trunk/qpid/python/qpid/driver.py (original)
+++ qpid/trunk/qpid/python/qpid/driver.py Sun Oct 11 20:38:06 2009
@@ -439,14 +439,19 @@
     if _snd is None and not snd.closing and not snd.closed:
       _snd = Attachment(snd)
 
+      if snd.target is None:
+        snd.error = ("target is None",)
+        snd.closed = True
+        return
+
       try:
         _snd.name, _snd.subject, _snd.options = address.parse(snd.target)
       except address.LexError, e:
-        snd.error = e
+        snd.error = (e,)
         snd.closed = True
         return
       except address.ParseError, e:
-        snd.error = e
+        snd.error = (e,)
         snd.closed = True
         return
 
@@ -502,14 +507,19 @@
       _rcv.canceled = False
       _rcv.draining = False
 
+      if rcv.source is None:
+        rcv.error = ("source is None",)
+        rcv.closed = True
+        return
+
       try:
         _rcv.name, _rcv.subject, _rcv.options = address.parse(rcv.source)
       except address.LexError, e:
-        rcv.error = e
+        rcv.error = (e,)
         rcv.closed = True
         return
       except address.ParseError, e:
-        rcv.error = e
+        rcv.error = (e,)
         rcv.closed = True
         return
 

Modified: qpid/trunk/qpid/python/qpid/tests/messaging.py
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/python/qpid/tests/messaging.py?rev=824144&r1=824143&r2=824144&view=diff
==============================================================================
--- qpid/trunk/qpid/python/qpid/tests/messaging.py (original)
+++ qpid/trunk/qpid/python/qpid/tests/messaging.py Sun Oct 11 20:38:06 2009
@@ -597,6 +597,14 @@
       assert check(e), "unexpected error: %s" % e
       rcv.close()
 
+  def testNoneTarget(self):
+    # XXX: should have specific exception for this
+    self.sendErrorTest(None, SendError)
+
+  def testNoneSource(self):
+    # XXX: should have specific exception for this
+    self.fetchErrorTest(None, ReceiveError)
+
   def testNoTarget(self):
     # XXX: should have specific exception for this
     self.sendErrorTest(NOSUCH_Q, SendError, lambda e: NOSUCH_Q in str(e))



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to