[Python-checkins] cpython: fix windows tests (#16662)

benjamin.peterson python-checkins at python.org
Tue Sep 30 03:54:58 CEST 2014


https://hg.python.org/cpython/rev/090dc85f4226
changeset:   92643:090dc85f4226
user:        Benjamin Peterson <benjamin at python.org>
date:        Mon Sep 29 21:54:28 2014 -0400
summary:
  fix windows tests (#16662)

From Robert Collins.

files:
  Lib/unittest/test/test_discovery.py |  29 ++++++++--------
  1 files changed, 15 insertions(+), 14 deletions(-)


diff --git a/Lib/unittest/test/test_discovery.py b/Lib/unittest/test/test_discovery.py
--- a/Lib/unittest/test/test_discovery.py
+++ b/Lib/unittest/test/test_discovery.py
@@ -1,4 +1,5 @@
-import os
+import os.path
+from os.path import abspath
 import re
 import sys
 import types
@@ -250,7 +251,7 @@
         def restore_isdir():
             os.path.isdir = original_isdir
         self.addCleanup(restore_isdir)
-        self.addCleanup(sys.path.remove, '/foo')
+        self.addCleanup(sys.path.remove, abspath('/foo'))
 
         # Test data: we expect the following:
         # a listdir to find our package, and a isfile and isdir check on it.
@@ -263,8 +264,8 @@
         # the module load tests for both package and plain module called,
         # and the plain module result nested by the package module load_tests
         # indicating that it was processed and could have been mutated.
-        vfs = {'/foo': ['my_package'],
-               '/foo/my_package': ['__init__.py', 'test_module.py']}
+        vfs = {abspath('/foo'): ['my_package'],
+               abspath('/foo/my_package'): ['__init__.py', 'test_module.py']}
         def list_dir(path):
             return list(vfs[path])
         os.listdir = list_dir
@@ -301,10 +302,10 @@
         loader._get_module_from_name = lambda name: Module(name)
         loader.suiteClass = lambda thing: thing
 
-        loader._top_level_dir = '/foo'
+        loader._top_level_dir = abspath('/foo')
         # this time no '.py' on the pattern so that it can match
         # a test package
-        suite = list(loader._find_tests('/foo', 'test*.py'))
+        suite = list(loader._find_tests(abspath('/foo'), 'test*.py'))
 
         # We should have loaded tests from both my_package and
         # my_pacakge.test_module, and also run the load_tests hook in both.
@@ -404,8 +405,8 @@
             test.test_this_does_not_exist()
 
     def test_discover_with_init_modules_that_fail_to_import(self):
-        vfs = {'/foo': ['my_package'],
-               '/foo/my_package': ['__init__.py', 'test_module.py']}
+        vfs = {abspath('/foo'): ['my_package'],
+               abspath('/foo/my_package'): ['__init__.py', 'test_module.py']}
         self.setup_import_issue_package_tests(vfs)
         import_calls = []
         def _get_module_from_name(name):
@@ -413,9 +414,9 @@
             raise ImportError("Cannot import Name")
         loader = unittest.TestLoader()
         loader._get_module_from_name = _get_module_from_name
-        suite = loader.discover('/foo')
+        suite = loader.discover(abspath('/foo'))
 
-        self.assertIn('/foo', sys.path)
+        self.assertIn(abspath('/foo'), sys.path)
         self.assertEqual(suite.countTestCases(), 1)
         test = list(list(suite)[0])[0] # extract test from suite
         with self.assertRaises(ImportError):
@@ -439,8 +440,8 @@
         self.assertEqual(len(result.skipped), 1)
 
     def test_discover_with_init_module_that_raises_SkipTest_on_import(self):
-        vfs = {'/foo': ['my_package'],
-               '/foo/my_package': ['__init__.py', 'test_module.py']}
+        vfs = {abspath('/foo'): ['my_package'],
+               abspath('/foo/my_package'): ['__init__.py', 'test_module.py']}
         self.setup_import_issue_package_tests(vfs)
         import_calls = []
         def _get_module_from_name(name):
@@ -448,9 +449,9 @@
             raise unittest.SkipTest('skipperoo')
         loader = unittest.TestLoader()
         loader._get_module_from_name = _get_module_from_name
-        suite = loader.discover('/foo')
+        suite = loader.discover(abspath('/foo'))
 
-        self.assertIn('/foo', sys.path)
+        self.assertIn(abspath('/foo'), sys.path)
         self.assertEqual(suite.countTestCases(), 1)
         result = unittest.TestResult()
         suite.run(result)

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list