diff options
author | Lars Wirzenius <liw@liw.fi> | 2013-10-06 17:26:09 +0100 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2013-10-06 17:26:09 +0100 |
commit | 1470c3296f6a28c3dd95c786552702af5a241682 (patch) | |
tree | 9b21554c8a78a3c9c11449bd5064266033f1302a | |
parent | d7b5706244fca58d8a2564ba6394cb460d2ca2c6 (diff) | |
parent | 0a3b1a065257109295f9322f5a7e199d157acfe6 (diff) | |
download | python-coverage-test-runner-1470c3296f6a28c3dd95c786552702af5a241682.tar.gz |
Fix importing of modules with the same basename
By Jannis Pohlmann
12 files changed, 51 insertions, 3 deletions
diff --git a/CoverageTestRunner.py b/CoverageTestRunner.py index 88987a1..6500041 100644 --- a/CoverageTestRunner.py +++ b/CoverageTestRunner.py @@ -158,7 +158,7 @@ class CoverageTestRunner: for tuple in imp.get_suffixes(): suffix, mode, type = tuple if pathname.endswith(suffix): - name = os.path.basename(pathname[:-len(suffix)]) + name = pathname[:-len(suffix)] f = file(pathname, mode) return imp.load_module(name, f, pathname, tuple) raise Exception("Unknown module: %s" % pathname) @@ -1,6 +1,13 @@ NEWS about CoverageTestRunner ============================= +Version 1.11, released UNRELEASED +-------------------------------- + +* Bug fix from Jannis Pohlmann: Previously, CoverageTestRunner + would often (possibly always) treat modules with the same + basename as the same module. + Version 1.10, released 2013-04-17 -------------------------------- diff --git a/subdir/__init__.py b/subdir/__init__.py new file mode 100644 index 0000000..cd02b72 --- /dev/null +++ b/subdir/__init__.py @@ -0,0 +1,2 @@ +import foo +import modules_with_same_names_but_different_symbols diff --git a/subdir/foo_tests.py b/subdir/foo_tests.py index a8a9740..ce10d5c 100644 --- a/subdir/foo_tests.py +++ b/subdir/foo_tests.py @@ -1,4 +1,6 @@ -import unittest, foo +import unittest + +from subdir import foo class FooTests(unittest.TestCase): diff --git a/subdir/modules_with_same_names_but_different_symbols/__init__.py b/subdir/modules_with_same_names_but_different_symbols/__init__.py new file mode 100644 index 0000000..909cf90 --- /dev/null +++ b/subdir/modules_with_same_names_but_different_symbols/__init__.py @@ -0,0 +1,2 @@ +import module1 +import module2 diff --git a/subdir/modules_with_same_names_but_different_symbols/module1/__init__.py b/subdir/modules_with_same_names_but_different_symbols/module1/__init__.py new file mode 100644 index 0000000..e1dd07e --- /dev/null +++ b/subdir/modules_with_same_names_but_different_symbols/module1/__init__.py @@ -0,0 +1 @@ +import duplicate diff --git a/subdir/modules_with_same_names_but_different_symbols/module1/duplicate.py b/subdir/modules_with_same_names_but_different_symbols/module1/duplicate.py new file mode 100644 index 0000000..02aa6a1 --- /dev/null +++ b/subdir/modules_with_same_names_but_different_symbols/module1/duplicate.py @@ -0,0 +1,4 @@ +class DuplicateClass(object): + + def a_function(self): + return True diff --git a/subdir/modules_with_same_names_but_different_symbols/module1/duplicate_tests.py b/subdir/modules_with_same_names_but_different_symbols/module1/duplicate_tests.py new file mode 100644 index 0000000..232c510 --- /dev/null +++ b/subdir/modules_with_same_names_but_different_symbols/module1/duplicate_tests.py @@ -0,0 +1,11 @@ +import unittest + +from subdir.modules_with_same_names_but_different_symbols.module1 \ + import duplicate + + +class DuplicateClassTests(unittest.TestCase): + + def test_a_function_works(self): + o = duplicate.DuplicateClass() + self.assertEqual(o.a_function(), True) diff --git a/subdir/modules_with_same_names_but_different_symbols/module2/__init__.py b/subdir/modules_with_same_names_but_different_symbols/module2/__init__.py new file mode 100644 index 0000000..e1dd07e --- /dev/null +++ b/subdir/modules_with_same_names_but_different_symbols/module2/__init__.py @@ -0,0 +1 @@ +import duplicate diff --git a/subdir/modules_with_same_names_but_different_symbols/module2/duplicate.py b/subdir/modules_with_same_names_but_different_symbols/module2/duplicate.py new file mode 100644 index 0000000..75ea503 --- /dev/null +++ b/subdir/modules_with_same_names_but_different_symbols/module2/duplicate.py @@ -0,0 +1,4 @@ +class DifferentClass(object): + + def a_function(self): + return True diff --git a/subdir/modules_with_same_names_but_different_symbols/module2/duplicate_tests.py b/subdir/modules_with_same_names_but_different_symbols/module2/duplicate_tests.py new file mode 100644 index 0000000..dd3abf4 --- /dev/null +++ b/subdir/modules_with_same_names_but_different_symbols/module2/duplicate_tests.py @@ -0,0 +1,11 @@ +import unittest + +from subdir.modules_with_same_names_but_different_symbols.module2 \ + import duplicate + + +class DifferentClassTests(unittest.TestCase): + + def test_a_function_works(self): + o = duplicate.DifferentClass() + self.assertEqual(o.a_function(), True) diff --git a/test-excluded b/test-excluded index 2835413..6314bf9 100644 --- a/test-excluded +++ b/test-excluded @@ -1,2 +1,5 @@ +subdir/__init__.py subdir/bar.py - +subdir/modules_with_same_names_but_different_symbols/module1/__init__.py +subdir/modules_with_same_names_but_different_symbols/module2/__init__.py +subdir/modules_with_same_names_but_different_symbols/__init__.py |