Drop support for EOL Python 2.6

This commit is contained in:
Hugo
2018-05-09 21:36:30 +03:00
parent 3bb46563d4
commit f6bdba65c0
11 changed files with 30 additions and 77 deletions

View File

@@ -282,10 +282,7 @@ if sys.version_info >= (3, 6):
'f"s" b""',
'b"s" f""',
]
if sys.version_info >= (2, 7):
# This is something that raises a different error in 2.6 than in the other
# versions. Just skip it for 2.6.
FAILING_EXAMPLES.append('[a, 1] += 3')
FAILING_EXAMPLES.append('[a, 1] += 3')
if sys.version_info[:2] == (3, 5):
# yields are not allowed in 3.5 async functions. Therefore test them

View File

@@ -5,9 +5,9 @@ tests of pydocstyle.
import difflib
import re
from functools import total_ordering
import parso
from parso._compatibility import total_ordering
from parso.utils import python_bytes_to_unicode

View File

@@ -118,22 +118,12 @@ def _get_actual_exception(code):
assert False, "The piece of code should raise an exception."
# SyntaxError
# Python 2.6 has a bit different error messages here, so skip it.
if sys.version_info[:2] == (2, 6) and wanted == 'SyntaxError: unexpected EOF while parsing':
wanted = 'SyntaxError: invalid syntax'
if wanted == 'SyntaxError: non-keyword arg after keyword arg':
# The python 3.5+ way, a bit nicer.
wanted = 'SyntaxError: positional argument follows keyword argument'
elif wanted == 'SyntaxError: assignment to keyword':
return [wanted, "SyntaxError: can't assign to keyword",
'SyntaxError: cannot assign to __debug__'], line_nr
elif wanted == 'SyntaxError: assignment to None':
# Python 2.6 does has a slightly different error.
wanted = 'SyntaxError: cannot assign to None'
elif wanted == 'SyntaxError: can not assign to __debug__':
# Python 2.6 does has a slightly different error.
wanted = 'SyntaxError: cannot assign to __debug__'
elif wanted == 'SyntaxError: can use starred expression only as assignment target':
# Python 3.4/3.4 have a bit of a different warning than 3.5/3.6 in
# certain places. But in others this error makes sense.

View File

@@ -4,8 +4,8 @@ import sys
from textwrap import dedent
import pytest
import sys
from parso._compatibility import py_version
from parso.utils import split_lines, parse_version_string
from parso.python.token import PythonTokenTypes
from parso.python import tokenize
@@ -137,7 +137,7 @@ def test_identifier_contains_unicode():
''')
token_list = _get_token_list(fundef)
unicode_token = token_list[1]
if py_version >= 30:
if sys.version_info.major >= 3:
assert unicode_token[0] == NAME
else:
# Unicode tokens in Python 2 seem to be identified as operators.
@@ -185,19 +185,19 @@ def test_ur_literals():
assert typ == NAME
check('u""')
check('ur""', is_literal=not py_version >= 30)
check('Ur""', is_literal=not py_version >= 30)
check('UR""', is_literal=not py_version >= 30)
check('ur""', is_literal=not sys.version_info.major >= 3)
check('Ur""', is_literal=not sys.version_info.major >= 3)
check('UR""', is_literal=not sys.version_info.major >= 3)
check('bR""')
# Starting with Python 3.3 this ordering is also possible.
if py_version >= 33:
if sys.version_info.major >= 3:
check('Rb""')
# Starting with Python 3.6 format strings where introduced.
check('fr""', is_literal=py_version >= 36)
check('rF""', is_literal=py_version >= 36)
check('f""', is_literal=py_version >= 36)
check('F""', is_literal=py_version >= 36)
check('fr""', is_literal=sys.version_info >= (3, 6))
check('rF""', is_literal=sys.version_info >= (3, 6))
check('f""', is_literal=sys.version_info >= (3, 6))
check('F""', is_literal=sys.version_info >= (3, 6))
def test_error_literal():