From: Brett Cannon Date: Sun, 18 Jan 2009 06:55:05 +0000 (+0000) Subject: Tests of case-sensitivity were being executed on OSs which did not have a X-Git-Tag: v3.1a1~482 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2c5c79cfc477c0537f296fa3ce7289dbc9a72c83;p=python Tests of case-sensitivity were being executed on OSs which did not have a case-insensitive file system, leading to test failures. This was due to using the TestCase objects directly instead of the guard in the test_main() function. Move over to a class decorator instead to control if the tests should be run. --- diff --git a/Lib/importlib/test/extension/test_case_sensitivity.py b/Lib/importlib/test/extension/test_case_sensitivity.py index c566b23893..575bf69f60 100644 --- a/Lib/importlib/test/extension/test_case_sensitivity.py +++ b/Lib/importlib/test/extension/test_case_sensitivity.py @@ -2,9 +2,11 @@ import sys from test import support as test_support import unittest import importlib +from .. import support from . import test_path_hook +@support.case_insensitive_tests class ExtensionModuleCaseSensitivityTest(unittest.TestCase): def find_module(self): @@ -30,8 +32,6 @@ class ExtensionModuleCaseSensitivityTest(unittest.TestCase): def test_main(): - if sys.platform not in ('win32', 'darwin', 'cygwin'): - return test_support.run_unittest(ExtensionModuleCaseSensitivityTest) diff --git a/Lib/importlib/test/source/test_case_sensitivity.py b/Lib/importlib/test/source/test_case_sensitivity.py index 1a5ff2f206..6649f377e1 100644 --- a/Lib/importlib/test/source/test_case_sensitivity.py +++ b/Lib/importlib/test/source/test_case_sensitivity.py @@ -7,6 +7,7 @@ from test import support as test_support import unittest +@support.case_insensitive_tests class CaseSensitivityTest(unittest.TestCase): """PEP 235 dictates that on case-preserving, case-insensitive file systems @@ -48,8 +49,6 @@ class CaseSensitivityTest(unittest.TestCase): def test_main(): - if sys.platform not in ('win32', 'darwin', 'cygwin'): - return test_support.run_unittest(CaseSensitivityTest) diff --git a/Lib/importlib/test/support.py b/Lib/importlib/test/support.py index 4e63cd1de8..3097811093 100644 --- a/Lib/importlib/test/support.py +++ b/Lib/importlib/test/support.py @@ -36,6 +36,16 @@ def writes_bytecode(fxn): else: return fxn + +def case_insensitive_tests(class_): + """Class decorator that nullifies tests that require a case-insensitive + file system.""" + if sys.platform not in ('win32', 'darwin', 'cygwin'): + return object() + else: + return class_ + + @contextmanager def uncache(*names): """Uncache a module from sys.modules.