summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2009-07-16 20:41:20 +0000
committerRafael H. Schloming <rhs@apache.org>2009-07-16 20:41:20 +0000
commit242abfa1098bc424fa60907ba79ccb594b8f5601 (patch)
tree0689ea820b160f551eaa3c50e6dedd4a05b126c0
parent5ca8c0d404e85cbf9445b57ab155b5e16b034971 (diff)
downloadqpid-python-242abfa1098bc424fa60907ba79ccb594b8f5601.tar.gz
added a ConnectError exception
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@794844 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/python/qpid/messaging.py10
-rw-r--r--qpid/python/qpid/tests/__init__.py2
-rw-r--r--qpid/python/qpid/tests/messaging.py9
3 files changed, 17 insertions, 4 deletions
diff --git a/qpid/python/qpid/messaging.py b/qpid/python/qpid/messaging.py
index 05e2f7c51f..f06ef87709 100644
--- a/qpid/python/qpid/messaging.py
+++ b/qpid/python/qpid/messaging.py
@@ -30,7 +30,7 @@ Areas that still need work:
- protocol negotiation/multiprotocol impl
"""
-import connection, time, sys, traceback
+import connection, time, socket, sys, traceback
from codec010 import StringCodec
from datatypes import timestamp, uuid4, RangedSet, Message as Message010
from logging import getLogger
@@ -101,6 +101,9 @@ class Constant:
UNLIMITED = Constant("UNLIMITED", 0xFFFFFFFFL)
+class ConnectError(Exception):
+ pass
+
class Connection(Lockable):
"""
@@ -185,7 +188,10 @@ class Connection(Lockable):
"""
if self._conn is not None:
return
- self._socket = connect(self.host, self.port)
+ try:
+ self._socket = connect(self.host, self.port)
+ except socket.error, e:
+ raise ConnectError(*e.args)
self._conn = connection.Connection(self._socket)
self._conn.start()
diff --git a/qpid/python/qpid/tests/__init__.py b/qpid/python/qpid/tests/__init__.py
index 465e31ca3a..7d2967c55b 100644
--- a/qpid/python/qpid/tests/__init__.py
+++ b/qpid/python/qpid/tests/__init__.py
@@ -25,4 +25,4 @@ class Test:
def configure(self, config):
self.config = config
-import messaging
+import messaging, framing
diff --git a/qpid/python/qpid/tests/messaging.py b/qpid/python/qpid/tests/messaging.py
index 15cc776f44..8a142d6c96 100644
--- a/qpid/python/qpid/tests/messaging.py
+++ b/qpid/python/qpid/tests/messaging.py
@@ -22,7 +22,7 @@
import time
from qpid.tests import Test
-from qpid.messaging import Connection, Disconnected, Empty, Message, UNLIMITED, uuid4
+from qpid.messaging import Connection, ConnectError, Disconnected, Empty, Message, UNLIMITED, uuid4
from Queue import Queue, Empty as QueueEmpty
class Base(Test):
@@ -99,6 +99,13 @@ class SetupTests(Base):
self.conn.connect()
self.ping(self.conn.session())
+ def testConnectError(self):
+ try:
+ self.conn = Connection.open("localhost", 0)
+ assert False, "connect succeeded"
+ except ConnectError:
+ pass
+
class ConnectionTests(Base):
def setup_connection(self):