summaryrefslogtreecommitdiff
path: root/mocker.py
diff options
context:
space:
mode:
authorDuncan McGreggor <duncan@canonical.com>2009-02-13 05:49:02 -0600
committerDuncan McGreggor <duncan@canonical.com>2009-02-13 05:49:02 -0600
commit44c1f801a3068647673c7e827827bab7cc72264c (patch)
tree055452bee51cdcdcf7b01bc8da07fbf975f0d404 /mocker.py
parent8a4227cfcc32fed041462ebf6031d722bb0c39a1 (diff)
downloadmocker-44c1f801a3068647673c7e827827bab7cc72264c.tar.gz
- Added a new unit test to check for a bug in mocker where the original
attribute gets swallowed by a subsequent exception check. - Added a fix for the bug.
Diffstat (limited to 'mocker.py')
-rw-r--r--mocker.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/mocker.py b/mocker.py
index 3b24111..a8904f3 100644
--- a/mocker.py
+++ b/mocker.py
@@ -2020,6 +2020,7 @@ class Patcher(Task):
try:
return unpatched(*action.args, **action.kwargs)
except AttributeError:
+ (type, value, traceback) = sys.exc_info()
if action.kind == "getattr":
# The normal behavior of Python is to try __getattribute__,
# and if it raises AttributeError, try __getattr__. We've
@@ -2031,7 +2032,7 @@ class Patcher(Task):
pass
else:
return __getattr__(*action.args, **action.kwargs)
- raise
+ raise type, value, traceback
class PatchedMethod(object):