Kaydet (Commit) 2c5c79cf authored tarafından Brett Cannon's avatar Brett Cannon

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.
üst b0516a6b
...@@ -2,9 +2,11 @@ import sys ...@@ -2,9 +2,11 @@ import sys
from test import support as test_support from test import support as test_support
import unittest import unittest
import importlib import importlib
from .. import support
from . import test_path_hook from . import test_path_hook
@support.case_insensitive_tests
class ExtensionModuleCaseSensitivityTest(unittest.TestCase): class ExtensionModuleCaseSensitivityTest(unittest.TestCase):
def find_module(self): def find_module(self):
...@@ -30,8 +32,6 @@ class ExtensionModuleCaseSensitivityTest(unittest.TestCase): ...@@ -30,8 +32,6 @@ class ExtensionModuleCaseSensitivityTest(unittest.TestCase):
def test_main(): def test_main():
if sys.platform not in ('win32', 'darwin', 'cygwin'):
return
test_support.run_unittest(ExtensionModuleCaseSensitivityTest) test_support.run_unittest(ExtensionModuleCaseSensitivityTest)
......
...@@ -7,6 +7,7 @@ from test import support as test_support ...@@ -7,6 +7,7 @@ from test import support as test_support
import unittest import unittest
@support.case_insensitive_tests
class CaseSensitivityTest(unittest.TestCase): class CaseSensitivityTest(unittest.TestCase):
"""PEP 235 dictates that on case-preserving, case-insensitive file systems """PEP 235 dictates that on case-preserving, case-insensitive file systems
...@@ -48,8 +49,6 @@ class CaseSensitivityTest(unittest.TestCase): ...@@ -48,8 +49,6 @@ class CaseSensitivityTest(unittest.TestCase):
def test_main(): def test_main():
if sys.platform not in ('win32', 'darwin', 'cygwin'):
return
test_support.run_unittest(CaseSensitivityTest) test_support.run_unittest(CaseSensitivityTest)
......
...@@ -36,6 +36,16 @@ def writes_bytecode(fxn): ...@@ -36,6 +36,16 @@ def writes_bytecode(fxn):
else: else:
return fxn 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 @contextmanager
def uncache(*names): def uncache(*names):
"""Uncache a module from sys.modules. """Uncache a module from sys.modules.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment