diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2012-02-27 18:55:36 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2012-02-27 18:55:36 (GMT) |
commit | d3113740894d07fefc1ba32b5998a4720e9e8711 (patch) | |
tree | a25d948b27a3792421e910948e8f2b7231fb7dcb /Lib/lib2to3/tests | |
parent | 2201ecbbfc9157c91242635c42fa47da15e8d0f8 (diff) | |
download | cpython-d3113740894d07fefc1ba32b5998a4720e9e8711.zip cpython-d3113740894d07fefc1ba32b5998a4720e9e8711.tar.gz cpython-d3113740894d07fefc1ba32b5998a4720e9e8711.tar.bz2 |
Issue #13125: Silence spurious test_lib2to3 output when in non-verbose mode.
Patch by Mikhail Novikov.
Diffstat (limited to 'Lib/lib2to3/tests')
-rw-r--r-- | Lib/lib2to3/tests/test_parser.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/Lib/lib2to3/tests/test_parser.py b/Lib/lib2to3/tests/test_parser.py index f32404c..3968e6a 100644 --- a/Lib/lib2to3/tests/test_parser.py +++ b/Lib/lib2to3/tests/test_parser.py @@ -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("@") |