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:55:36 +01:00
parent 2201ecbbfc
commit d311374089
3 changed files with 14 additions and 3 deletions

View File

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

View File

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

View File

@ -127,6 +127,9 @@ Core and Builtins
Library
-------
- Issue #13125: Silence spurious test_lib2to3 output when in non-verbose mode.
Patch by Mikhail Novikov.
- Issue #13447: Add a test file to host regression tests for bugs in the
scripts found in the Tools directory.