summaryrefslogtreecommitdiffstats
path: root/Lib/unittest.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/unittest.py')
-rw-r--r--Lib/unittest.py30
1 files changed, 13 insertions, 17 deletions
diff --git a/Lib/unittest.py b/Lib/unittest.py
index eac5e78..1c2163f 100644
--- a/Lib/unittest.py
+++ b/Lib/unittest.py
@@ -189,7 +189,7 @@ class TestCase:
try:
self.setUp()
except:
- result.addError(self,self.__exc_info())
+ result.addError(self,sys.exc_info())
return
ok = 0
@@ -197,14 +197,14 @@ class TestCase:
testMethod()
ok = 1
except AssertionError, e:
- result.addFailure(self,self.__exc_info())
+ result.addFailure(self,sys.exc_info())
except:
- result.addError(self,self.__exc_info())
+ result.addError(self,sys.exc_info())
try:
self.tearDown()
except:
- result.addError(self,self.__exc_info())
+ result.addError(self,sys.exc_info())
ok = 0
if ok: result.addSuccess(self)
finally:
@@ -266,17 +266,6 @@ class TestCase:
"""Fail immediately, with the given message."""
raise AssertionError, msg
- def __exc_info(self):
- """Return a version of sys.exc_info() with the traceback frame
- minimised; usually the top level of the traceback frame is not
- needed.
- """
- exctype, excvalue, tb = sys.exc_info()
- newtb = tb.tb_next
- if newtb is None:
- return (exctype, excvalue, tb)
- return (exctype, excvalue, newtb)
-
class TestSuite:
"""A test suite is a composite test consisting of a number of TestCases.
@@ -400,7 +389,14 @@ class TestLoader:
if not parts:
raise ValueError, "incomplete test name: %s" % name
else:
- module = __import__(parts)
+ parts_copy = parts[:]
+ while parts_copy:
+ try:
+ module = __import__(string.join(parts_copy,'.'))
+ break
+ except ImportError:
+ del parts_copy[-1]
+ if not parts_copy: raise
parts = parts[1:]
obj = module
for part in parts:
@@ -599,7 +595,7 @@ class TestProgram:
for making test modules conveniently executable.
"""
USAGE = """\
-Usage: %(progName)s [options] [test[:(casename|prefix-)]] [...]
+Usage: %(progName)s [options] [test] [...]
Options:
-h, --help Show this message