summaryrefslogtreecommitdiff
path: root/Lib/unittest/loader.py
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2012-04-11 12:46:24 +0200
committerGeorg Brandl <georg@python.org>2012-04-11 12:46:24 +0200
commitd113fbbdccda87a19675e624650dd02435bf7988 (patch)
treec3f0f368c5f2bfd5d750c0bb082c0b9744b70894 /Lib/unittest/loader.py
parentb2c574caec7279f6078b9ffecef84f4ed3370725 (diff)
parent25f9ec117a47548f90748ee892b2d5c5eb9e5c79 (diff)
downloadcpython-d113fbbdccda87a19675e624650dd02435bf7988.tar.gz
Merge 3.2.3 release clone.
Diffstat (limited to 'Lib/unittest/loader.py')
-rw-r--r--Lib/unittest/loader.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/Lib/unittest/loader.py b/Lib/unittest/loader.py
index ab364002e2..541884e416 100644
--- a/Lib/unittest/loader.py
+++ b/Lib/unittest/loader.py
@@ -34,6 +34,11 @@ def _make_failed_test(classname, methodname, exception, suiteClass):
TestClass = type(classname, (case.TestCase,), attrs)
return suiteClass((TestClass(methodname),))
+def _jython_aware_splitext(path):
+ if path.lower().endswith('$py.class'):
+ return path[:-9]
+ return os.path.splitext(path)[0]
+
class TestLoader(object):
"""
@@ -221,7 +226,7 @@ class TestLoader(object):
return os.path.dirname(full_path)
def _get_name_from_path(self, path):
- path = os.path.splitext(os.path.normpath(path))[0]
+ path = _jython_aware_splitext(os.path.normpath(path))
_relpath = os.path.relpath(path, self._top_level_dir)
assert not os.path.isabs(_relpath), "Path must be within the project"
@@ -258,11 +263,11 @@ class TestLoader(object):
yield _make_failed_import_test(name, self.suiteClass)
else:
mod_file = os.path.abspath(getattr(module, '__file__', full_path))
- realpath = os.path.splitext(mod_file)[0]
- fullpath_noext = os.path.splitext(full_path)[0]
+ realpath = _jython_aware_splitext(mod_file)
+ fullpath_noext = _jython_aware_splitext(full_path)
if realpath.lower() != fullpath_noext.lower():
module_dir = os.path.dirname(realpath)
- mod_name = os.path.splitext(os.path.basename(full_path))[0]
+ mod_name = _jython_aware_splitext(os.path.basename(full_path))
expected_dir = os.path.dirname(full_path)
msg = ("%r module incorrectly imported from %r. Expected %r. "
"Is this module globally installed?")