Fixing a warning and moving some tests around.

This commit is contained in:
Dave Halter
2017-08-05 21:31:13 +02:00
parent 172a534baa
commit 1b235e16e1
2 changed files with 9 additions and 4 deletions

View File

@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
import codecs
import warnings
import re
from contextlib import contextmanager
@@ -570,7 +571,10 @@ class ErrorFinder(Normalizer):
func = codecs.unicode_escape_decode
try:
func(payload)
with warnings.catch_warnings():
# The warnings from parsing strings are not relevant.
warnings.filterwarnings('ignore')
func(payload)
except UnicodeDecodeError as e:
self._add_syntax_error('(unicode error) ' + str(e), leaf)
except ValueError as e:

View File

@@ -241,6 +241,8 @@ GLOBAL_NONLOCAL_ERROR = [
if sys.version_info >= (3, 6):
FAILING_EXAMPLES += GLOBAL_NONLOCAL_ERROR
FAILING_EXAMPLES.append('(%s *d) = x' % ('a,' * 256))
if sys.version_info >= (3, 5):
FAILING_EXAMPLES.append('[*[] for a in [1]]')
if sys.version_info >= (3, 4):
# Before that del None works like del list, it gives a NameError.
FAILING_EXAMPLES.append('del None')
@@ -253,6 +255,8 @@ if sys.version_info >= (3,):
# A symtable error that raises only a SyntaxWarning in Python 2.
'def x(): from math import *',
'b"ä"',
'{**{} for a in [1]}',
'"s" b""',
]
if sys.version_info >= (2, 7):
# This is something that raises a different error in 2.6 than in the other
@@ -381,9 +385,6 @@ def test_default_except_error_postition():
('del *a, b', '3.5'),
('def x(*): pass', '3.5'),
('async def foo():\n def nofoo():[x async for x in []]', '3.6'),
('[*[] for a in [1]]', '3.5'),
('{**{} for a in [1]}', '3.5'),
('"s" b""', '3.5'),
]
)
def test_python_exception_matches_version(code, version):