From c68688b2286bc0581f141a5a9a146987ee74c1b8 Mon Sep 17 00:00:00 2001 From: "Rafael H. Schloming" Date: Thu, 16 Jul 2009 20:41:20 +0000 Subject: added a ConnectError exception git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@794844 13f79535-47bb-0310-9956-ffa450edef68 --- python/qpid/messaging.py | 10 ++++++++-- python/qpid/tests/__init__.py | 2 +- python/qpid/tests/messaging.py | 9 ++++++++- 3 files changed, 17 insertions(+), 4 deletions(-) (limited to 'python') diff --git a/python/qpid/messaging.py b/python/qpid/messaging.py index 05e2f7c51f..f06ef87709 100644 --- a/python/qpid/messaging.py +++ b/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/python/qpid/tests/__init__.py b/python/qpid/tests/__init__.py index 465e31ca3a..7d2967c55b 100644 --- a/python/qpid/tests/__init__.py +++ b/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/python/qpid/tests/messaging.py b/python/qpid/tests/messaging.py index 15cc776f44..8a142d6c96 100644 --- a/python/qpid/tests/messaging.py +++ b/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): -- cgit v1.2.1