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/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 @@
     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.