summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2010-04-14 12:01:59 +0000
committerRafael H. Schloming <rhs@apache.org>2010-04-14 12:01:59 +0000
commit39f3ad3af4352da1a4cba12df36b4df80702df65 (patch)
tree14708cd09737800aafd712496cdeda8c6ba7e85a /python
parenta10f9d9d9ca29839b7ffe4f83d454a7e03c63ab4 (diff)
downloadqpid-python-39f3ad3af4352da1a4cba12df36b4df80702df65.tar.gz
added get_error
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@933920 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'python')
-rw-r--r--python/qpid/messaging/endpoints.py24
-rw-r--r--python/qpid/tests/messaging/endpoints.py8
2 files changed, 32 insertions, 0 deletions
diff --git a/python/qpid/messaging/endpoints.py b/python/qpid/messaging/endpoints.py
index e2602bfc15..30165438c0 100644
--- a/python/qpid/messaging/endpoints.py
+++ b/python/qpid/messaging/endpoints.py
@@ -177,6 +177,9 @@ class Connection:
self._condition.gc()
raise self.error
+ def get_error(self):
+ return self.error
+
def _ewait(self, predicate, timeout=None):
result = self._wait(lambda: self.error or predicate(), timeout)
self.check_error()
@@ -513,6 +516,13 @@ class Session:
if self.error:
raise self.error
+ def get_error(self):
+ err = self.connection.get_error()
+ if err:
+ return err
+ else:
+ return self.error
+
def _ewait(self, predicate, timeout=None):
result = self.connection._ewait(lambda: self.error or predicate(), timeout)
self.check_error()
@@ -710,6 +720,13 @@ class Sender:
if self.error:
raise self.error
+ def get_error(self):
+ err = self.session.get_error()
+ if err:
+ return err
+ else:
+ return self.error
+
def _ewait(self, predicate, timeout=None):
result = self.session._ewait(lambda: self.error or predicate(), timeout)
self.check_error()
@@ -853,6 +870,13 @@ class Receiver(object):
if self.error:
raise self.error
+ def get_error(self):
+ err = self.session.get_error()
+ if err:
+ return err
+ else:
+ return self.error
+
def _ewait(self, predicate, timeout=None):
result = self.session._ewait(lambda: self.error or predicate(), timeout)
self.check_error()
diff --git a/python/qpid/tests/messaging/endpoints.py b/python/qpid/tests/messaging/endpoints.py
index 91940a881e..9ccf8ae8e6 100644
--- a/python/qpid/tests/messaging/endpoints.py
+++ b/python/qpid/tests/messaging/endpoints.py
@@ -44,6 +44,14 @@ class SetupTests(Base):
except ConnectError, e:
assert "Connection refused" in str(e)
+ def testGetError(self):
+ self.conn = Connection("localhost:0")
+ try:
+ self.conn.open()
+ assert False, "connect succeeded"
+ except ConnectError, e:
+ assert self.conn.get_error() == e
+
def use_fds(self):
fds = []
try: