summaryrefslogtreecommitdiffstats
path: root/Lib/importlib/test/extension/test_case_sensitivity.py
blob: 575bf69f6058e3c0cf94caa50445b89ab4de9e49 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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):
        good_name = test_path_hook.NAME
        bad_name = good_name.upper()
        assert good_name != bad_name
        finder = importlib.ExtensionFileImporter(test_path_hook.PATH)
        return finder.find_module(bad_name)

    def test_case_sensitive(self):
        with test_support.EnvironmentVarGuard() as env:
            env.unset('PYTHONCASEOK')
            loader = self.find_module()
            self.assert_(loader is None)

    def test_case_insensitivity(self):
        with test_support.EnvironmentVarGuard() as env:
            env.set('PYTHONCASEOK', '1')
            loader = self.find_module()
            self.assert_(hasattr(loader, 'load_module'))




def test_main():
    test_support.run_unittest(ExtensionModuleCaseSensitivityTest)


if __name__ == '__main__':
    test_main()