summaryrefslogtreecommitdiffstats
path: root/Lib/importlib
diff options
context:
space:
mode:
authorBrett Cannon <bcannon@gmail.com>2009-01-18 06:55:05 (GMT)
committerBrett Cannon <bcannon@gmail.com>2009-01-18 06:55:05 (GMT)
commit2c5c79cfc477c0537f296fa3ce7289dbc9a72c83 (patch)
tree1feeac55b8bbf27bf03a0ef8ff04c681153f0ca3 /Lib/importlib
parentb0516a6bc6cdc580846b075bc27b1d3281dd6295 (diff)
downloadcpython-2c5c79cfc477c0537f296fa3ce7289dbc9a72c83.zip
cpython-2c5c79cfc477c0537f296fa3ce7289dbc9a72c83.tar.gz
cpython-2c5c79cfc477c0537f296fa3ce7289dbc9a72c83.tar.bz2
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.
Diffstat (limited to 'Lib/importlib')
-rw-r--r--Lib/importlib/test/extension/test_case_sensitivity.py4
-rw-r--r--Lib/importlib/test/source/test_case_sensitivity.py3
-rw-r--r--Lib/importlib/test/support.py10
3 files changed, 13 insertions, 4 deletions
diff --git a/Lib/importlib/test/extension/test_case_sensitivity.py b/Lib/importlib/test/extension/test_case_sensitivity.py
index c566b23..575bf69 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 1a5ff2f..6649f37 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 4e63cd1..3097811 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.