diff options
| author | Rafael H. Schloming <rhs@apache.org> | 2010-04-14 12:01:59 +0000 |
|---|---|---|
| committer | Rafael H. Schloming <rhs@apache.org> | 2010-04-14 12:01:59 +0000 |
| commit | 08e9fcb5ec951f12f75502c75a166367097d11f8 (patch) | |
| tree | f75e9dc81cb19185d163fa8586fe58e85c7aaca4 /qpid/python | |
| parent | 96af19822b72f832fa53f6006c9ffc7a001c1dfe (diff) | |
| download | qpid-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.py | 24 | ||||
| -rw-r--r-- | qpid/python/qpid/tests/messaging/endpoints.py | 8 |
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: |
