Skip to content

Commit 1a0ce68

Browse files
committed
revert r80932; it breaks windows
1 parent 5dfad9d commit 1a0ce68

2 files changed

Lines changed: 1 addition & 53 deletions

File tree

Lib/unittest/loader.py

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -173,10 +173,7 @@ def discover(self, start_dir, pattern='test*.py', top_level_dir=None):
173173

174174
if not top_level_dir in sys.path:
175175
# all test modules must be importable from the top level directory
176-
# should we *unconditionally* put the start directory in first
177-
# in sys.path to minimise likelihood of conflicts between installed
178-
# modules and development versions?
179-
sys.path.insert(0, top_level_dir)
176+
sys.path.append(top_level_dir)
180177
self._top_level_dir = top_level_dir
181178

182179
is_not_importable = False
@@ -249,16 +246,6 @@ def _find_tests(self, start_dir, pattern):
249246
except:
250247
yield _make_failed_import_test(name, self.suiteClass)
251248
else:
252-
mod_file = os.path.abspath(getattr(module, '__file__', full_path))
253-
realpath = os.path.splitext(mod_file)[0]
254-
fullpath_noext = os.path.splitext(full_path)[0]
255-
if realpath.lower() != fullpath_noext.lower():
256-
module_dir = os.path.dirname(realpath)
257-
mod_name = os.path.splitext(os.path.basename(full_path))[0]
258-
expected_dir = os.path.dirname(full_path)
259-
msg = ("%r module incorrectly imported from %r. Expected %r. "
260-
"Is this module globally installed?")
261-
raise ImportError(msg % (mod_name, module_dir, expected_dir))
262249
yield self.loadTestsFromModule(module)
263250
elif os.path.isdir(full_path):
264251
if not os.path.isfile(os.path.join(full_path, '__init__.py')):

Lib/unittest/test/test_discovery.py

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -298,45 +298,6 @@ def discover(self, start_dir, pattern, top_level_dir):
298298
self.assertTrue(program.failfast)
299299
self.assertTrue(program.catchbreak)
300300

301-
def test_detect_module_clash(self):
302-
class Module(object):
303-
__file__ = 'bar/foo.py'
304-
sys.modules['foo'] = Module
305-
full_path = os.path.abspath('foo')
306-
original_listdir = os.listdir
307-
original_isfile = os.path.isfile
308-
original_isdir = os.path.isdir
309-
310-
def cleanup():
311-
os.listdir = original_listdir
312-
os.path.isfile = original_isfile
313-
os.path.isdir = original_isdir
314-
del sys.modules['foo']
315-
if full_path in sys.path:
316-
sys.path.remove(full_path)
317-
self.addCleanup(cleanup)
318-
319-
def listdir(_):
320-
return ['foo.py']
321-
def isfile(_):
322-
return True
323-
def isdir(_):
324-
return True
325-
os.listdir = listdir
326-
os.path.isfile = isfile
327-
os.path.isdir = isdir
328-
329-
loader = unittest.TestLoader()
330-
331-
mod_dir = os.path.abspath('bar')
332-
expected_dir = os.path.abspath('foo')
333-
msg = (r"^'foo' module incorrectly imported from %r\. Expected %r\. "
334-
"Is this module globally installed\?$") % (mod_dir, expected_dir)
335-
self.assertRaisesRegexp(
336-
ImportError, msg, loader.discover,
337-
start_dir='foo', pattern='foo.py'
338-
)
339-
self.assertEqual(sys.path[0], full_path)
340301

341302
if __name__ == '__main__':
342303
unittest.main()

0 commit comments

Comments
 (0)