diff options
author | Rafael H. Schloming <rhs@apache.org> | 2009-07-16 20:41:20 +0000 |
---|---|---|
committer | Rafael H. Schloming <rhs@apache.org> | 2009-07-16 20:41:20 +0000 |
commit | 242abfa1098bc424fa60907ba79ccb594b8f5601 (patch) | |
tree | 0689ea820b160f551eaa3c50e6dedd4a05b126c0 | |
parent | 5ca8c0d404e85cbf9445b57ab155b5e16b034971 (diff) | |
download | qpid-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.py | 10 | ||||
-rw-r--r-- | qpid/python/qpid/tests/__init__.py | 2 | ||||
-rw-r--r-- | qpid/python/qpid/tests/messaging.py | 9 |
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): |