Issue #13125: Silence spurious test_lib2to3 output when in non-verbose mode.

Patch by Mikhail Novikov.
This commit is contained in:
Antoine Pitrou 2012-02-27 19:56:37 +01:00
commit 049242b87c
3 changed files with 14 additions and 3 deletions

View file

@ -11,10 +11,14 @@ from __future__ import with_statement
# Testing imports # Testing imports
from . import support from . import support
from .support import driver, test_dir from .support import driver, test_dir
from test.support import verbose
# Python imports # Python imports
import os import os
import sys
import unittest import unittest
import warnings
import subprocess
# Local imports # Local imports
from lib2to3.pgen2 import tokenize from lib2to3.pgen2 import tokenize
@ -171,10 +175,12 @@ class TestParserIdempotency(support.TestCase):
try: try:
tree = driver.parse_string(source) tree = driver.parse_string(source)
except ParseError as err: except ParseError as err:
print('ParseError on file', filepath, err) if verbose > 0:
warnings.warn('ParseError on file %s (%s)' % (filepath, err))
continue continue
new = str(tree) new = str(tree)
if diff(filepath, new): x = diff(filepath, new)
if x:
self.fail("Idempotency failed: %s" % filepath) self.fail("Idempotency failed: %s" % filepath)
def test_extended_unpacking(self): def test_extended_unpacking(self):
@ -183,6 +189,7 @@ class TestParserIdempotency(support.TestCase):
driver.parse_string("(z, *y, w) = m\n") driver.parse_string("(z, *y, w) = m\n")
driver.parse_string("for *z, m in d: pass\n") driver.parse_string("for *z, m in d: pass\n")
class TestLiterals(GrammarTest): class TestLiterals(GrammarTest):
def validate(self, s): def validate(self, s):
@ -221,7 +228,7 @@ def diff(fn, result):
with open('@', 'w') as f: with open('@', 'w') as f:
f.write(str(result)) f.write(str(result))
fn = fn.replace('"', '\\"') fn = fn.replace('"', '\\"')
return os.system('diff -u "%s" @' % fn) return subprocess.call(['diff', '-u', fn, '@'], stdout=(subprocess.DEVNULL if verbose < 1 else None))
finally: finally:
try: try:
os.remove("@") os.remove("@")

View file

@ -725,6 +725,7 @@ Stefan Norberg
Tim Northover Tim Northover
Joe Norton Joe Norton
Neal Norwitz Neal Norwitz
Mikhail Novikov
Michal Nowikowski Michal Nowikowski
Steffen Daode Nurpmeso Steffen Daode Nurpmeso
Nigel O'Brian Nigel O'Brian

View file

@ -508,6 +508,9 @@ Core and Builtins
Library Library
------- -------
- Issue #13125: Silence spurious test_lib2to3 output when in non-verbose mode.
Patch by Mikhail Novikov.
- Issue #11841: Fix comparison bug with 'rc' versions in packaging.version. - Issue #11841: Fix comparison bug with 'rc' versions in packaging.version.
Patch by Filip Gruszczyński. Patch by Filip Gruszczyński.