Commit e3695e76 authored by Meador Inge's avatar Meador Inge

Issue #16826: Revert fix while Windows issues are being worked out.

parent 4d5562b4
......@@ -33,9 +33,6 @@ def _make_relax_case():
if sys.platform.startswith(_CASE_INSENSITIVE_PLATFORMS):
def _relax_case():
"""True if filenames must be checked case-insensitively."""
if sys.flags.ignore_environment:
return False
else:
return b'PYTHONCASEOK' in _os.environ
else:
def _relax_case():
......
......@@ -5,8 +5,7 @@ import unittest
from importlib import _bootstrap
from .. import util
from . import util as ext_util
import os
import subprocess
@util.case_insensitive_tests
class ExtensionModuleCaseSensitivityTest(unittest.TestCase):
......@@ -30,34 +29,14 @@ class ExtensionModuleCaseSensitivityTest(unittest.TestCase):
self.assertIsNone(loader)
def test_case_insensitivity(self):
find_snippet = """if True:
from importlib import _bootstrap
import sys
finder = _bootstrap.FileFinder('{path}',
(_bootstrap.ExtensionFileLoader,
_bootstrap.EXTENSION_SUFFIXES))
loader = finder.find_module('{bad_name}')
print(str(hasattr(loader, 'load_module')))
""".format(bad_name=ext_util.NAME.upper(), path=ext_util.PATH)
newenv = os.environ.copy()
newenv["PYTHONCASEOK"] = "1"
def check_output(expected, extra_arg=None):
args = [sys.executable]
if extra_arg:
args.append(extra_arg)
args.extend(["-c", find_snippet])
p = subprocess.Popen(args, stdout=subprocess.PIPE, env=newenv)
actual = p.communicate()[0].decode().strip()
self.assertEqual(expected, actual)
self.assertEqual(p.wait(), 0)
# Test with PYTHONCASEOK=1.
check_output("True")
with support.EnvironmentVarGuard() as env:
env.set('PYTHONCASEOK', '1')
if b'PYTHONCASEOK' not in _bootstrap._os.environ:
self.skipTest('os.environ changes not reflected in '
'_os.environ')
loader = self.find_module()
self.assertTrue(hasattr(loader, 'load_module'))
# Test with PYTHONCASEOK=1 ignored because of -E.
check_output("False", "-E")
......
......@@ -8,7 +8,6 @@ import os
import sys
from test import support as test_support
import unittest
import subprocess
@util.case_insensitive_tests
......@@ -51,62 +50,16 @@ class CaseSensitivityTest(unittest.TestCase):
self.assertIsNone(insensitive)
def test_insensitive(self):
sensitive_pkg = 'sensitive.{0}'.format(self.name)
insensitive_pkg = 'insensitive.{0}'.format(self.name.lower())
context = source_util.create_modules(insensitive_pkg, sensitive_pkg)
with context as mapping:
sensitive_path = os.path.join(mapping['.root'], 'sensitive')
insensitive_path = os.path.join(mapping['.root'], 'insensitive')
find_snippet = """if True:
import sys
from importlib import machinery
def find(path):
f = machinery.FileFinder(path,
(machinery.SourceFileLoader,
machinery.SOURCE_SUFFIXES),
(machinery.SourcelessFileLoader,
machinery.BYTECODE_SUFFIXES))
return f.find_module('{name}')
sensitive = find('{sensitive_path}')
insensitive = find('{insensitive_path}')
print(str(hasattr(sensitive, 'load_module')))
if hasattr(sensitive, 'load_module'):
print(sensitive.get_filename('{name}'))
else:
print('None')
print(str(hasattr(insensitive, 'load_module')))
if hasattr(insensitive, 'load_module'):
print(insensitive.get_filename('{name}'))
else:
print('None')
""".format(sensitive_path=sensitive_path,
insensitive_path=insensitive_path,
name=self.name)
newenv = os.environ.copy()
newenv["PYTHONCASEOK"] = "1"
def check_output(expected, extra_arg=None):
args = [sys.executable]
if extra_arg:
args.append(extra_arg)
args.extend(["-c", find_snippet])
p = subprocess.Popen(args, stdout=subprocess.PIPE,
env=newenv)
actual = p.communicate()[0].decode().split()
self.assertEqual(expected[0], actual[0])
self.assertIn(expected[1], actual[1])
self.assertEqual(expected[2], actual[2])
self.assertIn(expected[3], actual[3])
self.assertEqual(p.wait(), 0)
# Test with PYTHONCASEOK=1.
check_output(["True", self.name, "True", self.name])
# Test with PYTHONCASEOK=1 ignored because of -E.
check_output(["True", self.name, "False", "None"], "-E")
with test_support.EnvironmentVarGuard() as env:
env.set('PYTHONCASEOK', '1')
if b'PYTHONCASEOK' not in _bootstrap._os.environ:
self.skipTest('os.environ changes not reflected in '
'_os.environ')
sensitive, insensitive = self.sensitivity_test()
self.assertTrue(hasattr(sensitive, 'load_module'))
self.assertIn(self.name, sensitive.get_filename(self.name))
self.assertTrue(hasattr(insensitive, 'load_module'))
self.assertIn(self.name, insensitive.get_filename(self.name))
def test_main():
......
......@@ -66,8 +66,6 @@ Core and Builtins
Library
-------
- Issue #16826: Don't check for PYTHONCASEOK if interpreter started with -E.
- Issue #18418: After fork(), reinit all threads states, not only active ones.
Patch by A. Jesse Jiryu Davis.
......
This source diff could not be displayed because it is too large. You can view the blob instead.
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