(original) (raw)

changeset: 87520:694e2708b4a8 user: Serhiy Storchaka storchaka@gmail.com date: Sun Nov 24 23:13:26 2013 +0200 files: Lib/fileinput.py Lib/test/test_codecs.py Lib/test/test_fileinput.py Lib/test/test_io.py Lib/test/test_zipfile.py description: Issue #15204: Silence and check the 'U' mode deprecation warnings in tests. Changed deprecation message in the fileinput module. diff -r ead3f5a907bd -r 694e2708b4a8 Lib/fileinput.py --- a/Lib/fileinput.py Sun Nov 24 12:25:48 2013 -0800 +++ b/Lib/fileinput.py Sun Nov 24 23:13:26 2013 +0200 @@ -224,7 +224,7 @@ "'r', 'rU', 'U' and 'rb'") if 'U' in mode: import warnings - warnings.warn("Use of 'U' mode is deprecated", + warnings.warn("'U' mode is deprecated", DeprecationWarning, 2) self._mode = mode if openhook: diff -r ead3f5a907bd -r 694e2708b4a8 Lib/test/test_codecs.py --- a/Lib/test/test_codecs.py Sun Nov 24 12:25:48 2013 -0800 +++ b/Lib/test/test_codecs.py Sun Nov 24 23:13:26 2013 +0200 @@ -602,7 +602,9 @@ self.addCleanup(support.unlink, support.TESTFN) with open(support.TESTFN, 'wb') as fp: fp.write(s) - with codecs.open(support.TESTFN, 'U', encoding=self.encoding) as reader: + with support.check_warnings(('', DeprecationWarning)): + reader = codecs.open(support.TESTFN, 'U', encoding=self.encoding) + with reader: self.assertEqual(reader.read(), s1) class UTF16LETest(ReadTest, unittest.TestCase): diff -r ead3f5a907bd -r 694e2708b4a8 Lib/test/test_fileinput.py --- a/Lib/test/test_fileinput.py Sun Nov 24 12:25:48 2013 -0800 +++ b/Lib/test/test_fileinput.py Sun Nov 24 23:13:26 2013 +0200 @@ -22,7 +22,7 @@ from io import StringIO from fileinput import FileInput, hook_encoded -from test.support import verbose, TESTFN, run_unittest +from test.support import verbose, TESTFN, run_unittest, check_warnings from test.support import unlink as safe_unlink @@ -224,8 +224,10 @@ try: # try opening in universal newline mode t1 = writeTmp(1, [b"A\nB\r\nC\rD"], mode="wb") - fi = FileInput(files=t1, mode="U") - lines = list(fi) + with check_warnings(('', DeprecationWarning)): + fi = FileInput(files=t1, mode="U") + with check_warnings(('', DeprecationWarning)): + lines = list(fi) self.assertEqual(lines, ["A\n", "B\n", "C\n", "D"]) finally: remove_tempfiles(t1) diff -r ead3f5a907bd -r 694e2708b4a8 Lib/test/test_io.py --- a/Lib/test/test_io.py Sun Nov 24 12:25:48 2013 -0800 +++ b/Lib/test/test_io.py Sun Nov 24 23:13:26 2013 +0200 @@ -2777,7 +2777,8 @@ self.assertEqual(f.mode, "wb") f.close() - f = self.open(support.TESTFN, "U") + with support.check_warnings(('', DeprecationWarning)): + f = self.open(support.TESTFN, "U") self.assertEqual(f.name, support.TESTFN) self.assertEqual(f.buffer.name, support.TESTFN) self.assertEqual(f.buffer.raw.name, support.TESTFN) diff -r ead3f5a907bd -r 694e2708b4a8 Lib/test/test_zipfile.py --- a/Lib/test/test_zipfile.py Sun Nov 24 12:25:48 2013 -0800 +++ b/Lib/test/test_zipfile.py Sun Nov 24 23:13:26 2013 +0200 @@ -14,7 +14,7 @@ from test.support import (TESTFN, findfile, unlink, requires_zlib, requires_bz2, requires_lzma, - captured_stdout) + captured_stdout, check_warnings) TESTFN2 = TESTFN + "2" TESTFNDIR = TESTFN + "d" @@ -35,6 +35,10 @@ yield f test.assertFalse(f.closed) +def openU(zipfp, fn): + with check_warnings(('', DeprecationWarning)): + return zipfp.open(fn, 'rU') + class AbstractTestsWithSourceFile: @classmethod def setUpClass(cls): @@ -875,6 +879,17 @@ data += zipfp.read(info) self.assertIn(data, {b"foobar", b"barfoo"}) + def test_universal_deprecation(self): + f = io.BytesIO() + with zipfile.ZipFile(f, "w") as zipfp: + zipfp.writestr('spam.txt', b'ababagalamaga') + + with zipfile.ZipFile(f, "r") as zipfp: + for mode in 'U', 'rU': + with self.assertWarns(DeprecationWarning): + zipopen = zipfp.open('spam.txt', mode) + zipopen.close() + def test_universal_readaheads(self): f = io.BytesIO() @@ -884,7 +899,7 @@ data2 = b'' with zipfile.ZipFile(f, 'r') as zipfp, \ - zipfp.open(TESTFN, 'rU') as zipopen: + openU(zipfp, TESTFN) as zipopen: for line in zipopen: data2 += line @@ -1613,7 +1628,7 @@ # Read the ZIP archive with zipfile.ZipFile(f, "r") as zipfp: for sep, fn in self.arcfiles.items(): - with zipfp.open(fn, "rU") as fp: + with openU(zipfp, fn) as fp: zipdata = fp.read() self.assertEqual(self.arcdata[sep], zipdata) @@ -1627,7 +1642,7 @@ # Read the ZIP archive with zipfile.ZipFile(f, "r") as zipfp: for sep, fn in self.arcfiles.items(): - with zipfp.open(fn, "rU") as zipopen: + with openU(zipfp, fn) as zipopen: data = b'' while True: read = zipopen.readline() @@ -1652,7 +1667,7 @@ # Read the ZIP archive with zipfile.ZipFile(f, "r") as zipfp: for sep, fn in self.arcfiles.items(): - with zipfp.open(fn, "rU") as zipopen: + with openU(zipfp, fn) as zipopen: for line in self.line_gen: linedata = zipopen.readline() self.assertEqual(linedata, line + b'\n') @@ -1667,7 +1682,7 @@ # Read the ZIP archive with zipfile.ZipFile(f, "r") as zipfp: for sep, fn in self.arcfiles.items(): - with zipfp.open(fn, "rU") as fp: + with openU(zipfp, fn) as fp: ziplines = fp.readlines() for line, zipline in zip(self.line_gen, ziplines): self.assertEqual(zipline, line + b'\n') @@ -1682,7 +1697,7 @@ # Read the ZIP archive with zipfile.ZipFile(f, "r") as zipfp: for sep, fn in self.arcfiles.items(): - with zipfp.open(fn, "rU") as fp: + with openU(zipfp, fn) as fp: for line, zipline in zip(self.line_gen, fp): self.assertEqual(zipline, line + b'\n') /storchaka@gmail.com