cpython: 07ef52e751f3 (original) (raw)

Mercurial > cpython

changeset 87795:07ef52e751f3

Issue #19712: Update test.test_importlib.source for PEP 451 [#19712]

Brett Cannon brett@python.org
date Fri, 06 Dec 2013 14:25:01 -0500
parents 543c76769c14
children 07cfe9f5561b
files Lib/test/test_importlib/source/test_case_sensitivity.py Lib/test/test_importlib/source/test_file_loader.py Lib/test/test_importlib/source/test_finder.py Lib/test/test_importlib/source/test_source_encoding.py
diffstat 4 files changed, 140 insertions(+), 24 deletions(-)[+] [-] Lib/test/test_importlib/source/test_case_sensitivity.py 31 Lib/test/test_importlib/source/test_file_loader.py 71 Lib/test/test_importlib/source/test_finder.py 21 Lib/test/test_importlib/source/test_source_encoding.py 41

line wrap: on

line diff

--- a/Lib/test/test_importlib/source/test_case_sensitivity.py +++ b/Lib/test/test_importlib/source/test_case_sensitivity.py @@ -21,13 +21,12 @@ class CaseSensitivityTest: name = 'MoDuLe' assert name != name.lower()

def sensitivity_test(self): """Look for a module with matching and non-matching sensitivity.""" @@ -37,7 +36,9 @@ class CaseSensitivityTest: with context as mapping: sensitive_path = os.path.join(mapping['.root'], 'sensitive') insensitive_path = os.path.join(mapping['.root'], 'insensitive')

def test_sensitive(self): with test_support.EnvironmentVarGuard() as env: @@ -46,7 +47,7 @@ class CaseSensitivityTest: self.skipTest('os.environ changes not reflected in ' '_os.environ') sensitive, insensitive = self.sensitivity_test()

@@ -57,13 +58,25 @@ class CaseSensitivityTest: self.skipTest('os.environ changes not reflected in ' '_os.environ') sensitive, insensitive = self.sensitivity_test()

-Frozen_CaseSensitivityTest, Source_CaseSensitivityTest = util.test_both(

+class CaseSensitivityTestPEP302(CaseSensitivityTest):

+ +Frozen_CaseSensitivityTestPEP302, Source_CaseSensitivityTestPEP302 = util.test_both(

+ +class CaseSensitivityTestPEP451(CaseSensitivityTest):

+ +Frozen_CaseSensitivityTestPEP451, Source_CaseSensitivityTestPEP451 = util.test_both(

if name == 'main':

--- a/Lib/test/test_importlib/source/test_file_loader.py +++ b/Lib/test/test_importlib/source/test_file_loader.py @@ -121,6 +121,10 @@ class SimpleTest(abc.LoaderTests): file.write('+++ bad syntax +++') loader = self.machinery.SourceFileLoader('_temp', mapping['_temp']) with self.assertRaises(SyntaxError):

@@ -171,15 +175,27 @@ class SimpleTest(abc.LoaderTests): raise self.skipTest("cannot set modification time to large integer ({})".format(e)) loader = self.machinery.SourceFileLoader('_temp', mapping['_temp'])

def test_unloadable(self): loader = self.machinery.SourceFileLoader('good name', {})

@@ -291,8 +307,23 @@ class BadBytecodeTest: lambda bc: b'\x00\x00\x00\x00' + bc[4:]) test('_temp', mapping, bc_path) +class BadBytecodeTestPEP451(BadBytecodeTest): -class SourceLoaderBadBytecodeTest(BadBytecodeTest):

+ +class BadBytecodeTestPEP302(BadBytecodeTest): +

+ + +class SourceLoaderBadBytecodeTest: @classmethod def setUpClass(cls): @@ -418,12 +449,24 @@ class SourceLoaderBadBytecodeTest(BadByt # Make writable for eventual clean-up. os.chmod(bytecode_path, stat.S_IWUSR) -Frozen_SourceBadBytecode, Source_SourceBadBytecode = util.test_both(

+class SourceLoaderBadBytecodeTestPEP451(

+ +Frozen_SourceBadBytecodePEP451, Source_SourceBadBytecodePEP451 = util.test_both(

+ +class SourceLoaderBadBytecodeTestPEP302(

+ +Frozen_SourceBadBytecodePEP302, Source_SourceBadBytecodePEP302 = util.test_both(

-class SourcelessLoaderBadBytecodeTest(BadBytecodeTest): +class SourcelessLoaderBadBytecodeTest: @classmethod def setUpClass(cls): @@ -482,8 +525,20 @@ class SourcelessLoaderBadBytecodeTest(Ba def test_non_code_marshal(self): self._test_non_code_marshal(del_source=True) -Frozen_SourcelessBadBytecode, Source_SourcelessBadBytecode = util.test_both(

+class SourcelessLoaderBadBytecodeTestPEP451(SourcelessLoaderBadBytecodeTest,

+ +Frozen_SourcelessBadBytecodePEP451, Source_SourcelessBadBytecodePEP451 = util.test_both(

+ +class SourcelessLoaderBadBytecodeTestPEP302(SourcelessLoaderBadBytecodeTest,

+ +Frozen_SourcelessBadBytecodePEP302, Source_SourcelessBadBytecodePEP302 = util.test_both(

--- a/Lib/test/test_importlib/source/test_finder.py +++ b/Lib/test/test_importlib/source/test_finder.py @@ -46,9 +46,6 @@ class FinderTests(abc.FinderTests): self.machinery.BYTECODE_SUFFIXES)] return self.machinery.FileFinder(root, *loader_details)

- def run_test(self, test, create=None, *, compile_=None, unlink=None): """Test the finding of 'test' with the creation of modules listed in 'create'. @@ -182,7 +179,23 @@ class FinderTests(abc.FinderTests): finder = self.get_finder(file_obj.name) self.assertEqual((None, []), finder.find_loader('doesnotexist')) -Frozen_FinderTests, Source_FinderTests = util.test_both(FinderTests, machinery=machinery) +class FinderTestsPEP451(FinderTests): +

+ +Frozen_FinderTestsPEP451, Source_FinderTestsPEP451 = util.test_both(

+ + +class FinderTestsPEP302(FinderTests): +

+ +Frozen_FinderTestsPEP302, Source_FinderTestsPEP302 = util.test_both(

--- a/Lib/test/test_importlib/source/test_source_encoding.py +++ b/Lib/test/test_importlib/source/test_source_encoding.py @@ -4,8 +4,10 @@ from . import util as source_util machinery = util.import_importlib('importlib.machinery') import codecs +import importlib.util import re import sys +import types

Because sys.path gets essentially blanked, need to have unicodedata already

imported for the parser to use.

import unicodedata @@ -39,7 +41,7 @@ class EncodingTest: file.write(source) loader = self.machinery.SourceFileLoader(self.module_name, mapping[self.module_name])

def create_source(self, encoding): encoding_line = "# coding={0}".format(encoding) @@ -86,7 +88,24 @@ class EncodingTest: with self.assertRaises(SyntaxError): self.run_test(source) -Frozen_EncodingTest, Source_EncodingTest = util.test_both(EncodingTest, machinery=machinery) +class EncodingTestPEP451(EncodingTest): +

+ +Frozen_EncodingTestPEP451, Source_EncodingTestPEP451 = util.test_both(

+ +class EncodingTestPEP302(EncodingTest): +

+ +Frozen_EncodingTestPEP302, Source_EncodingTestPEP302 = util.test_both(

class LineEndingTest: @@ -117,8 +136,24 @@ class LineEndingTest: def test_lf(self): self.run_test(b'\n') -Frozen_LineEndings, Source_LineEndings = util.test_both(LineEndingTest, machinery=machinery) +class LineEndingTestPEP451(LineEndingTest): +

+Frozen_LineEndingTestPEP451, Source_LineEndingTestPEP451 = util.test_both(

+ +class LineEndingTestPEP302(LineEndingTest): +

+ +Frozen_LineEndingTestPEP302, Source_LineEndingTestPEP302 = util.test_both(

if name == 'main':