summaryrefslogtreecommitdiff
path: root/qpid/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
commit08e9fcb5ec951f12f75502c75a166367097d11f8 (patch)
treef75e9dc81cb19185d163fa8586fe58e85c7aaca4 /qpid/python
parent96af19822b72f832fa53f6006c9ffc7a001c1dfe (diff)
downloadqpid-python-08e9fcb5ec951f12f75502c75a166367097d11f8.tar.gz
added get_error
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@933920 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/python')
-rw-r--r--qpid/python/qpid/messaging/endpoints.py24
-rw-r--r--qpid/python/qpid/tests/messaging/endpoints.py8
2 files changed, 32 insertions, 0 deletions
diff --git a/qpid/python/qpid/messaging/endpoints.py b/qpid/python/qpid/messaging/endpoints.py
index e2602bfc15..30165438c0 100644
--- a/qpid/python/qpid/messaging/endpoints.py
+++ b/qpid/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/qpid/python/qpid/tests/messaging/endpoints.py b/qpid/python/qpid/tests/messaging/endpoints.py
index 91940a881e..9ccf8ae8e6 100644
--- a/qpid/python/qpid/tests/messaging/endpoints.py
+++ b/qpid/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: