未验证 提交 3fe176df 编写于 作者: G guofei 提交者: GitHub

Fix test_gast_with_compatibility.py due to the problem of gast in python3.8 (#27433)

test=develop
上级 13a4c74e
...@@ -16,6 +16,7 @@ from __future__ import print_function ...@@ -16,6 +16,7 @@ from __future__ import print_function
import ast import ast
import gast import gast
import sys
import textwrap import textwrap
import unittest import unittest
...@@ -143,47 +144,60 @@ class TestPythonCompatibility(unittest.TestCase): ...@@ -143,47 +144,60 @@ class TestPythonCompatibility(unittest.TestCase):
""" """
self._check_compatibility(source, target) self._check_compatibility(source, target)
def test_with(self): # The 0.3.3 version of gast has a bug in python3.8 that
""" # would cause the following tests to fail. But this
The fileds `context_expr/optional_vars` of `ast.With` in PY2 # problem doesn't affect the use of Paddle's related
is moved into `ast.With.items.withitem` in PY3. # functions, therefore, the following tests would be
""" # disable in python3.8.
source = """ #
with guard(): # This problem had been fixed and updated to version
a = 1 # 0.4.1 of gast.
""" #
target = """ # More information please refer to:
with guard_new(): # https://github.com/serge-sans-paille/gast/issues/49
a = 1 if sys.version_info < (3, 8):
"""
self._check_compatibility(source, target) def test_with(self):
"""
def test_subscript_Index(self): The fileds `context_expr/optional_vars` of `ast.With` in PY2
source = """ is moved into `ast.With.items.withitem` in PY3.
x = y()[10] """
""" source = """
target = """ with guard():
x = y()[20] a = 1
""" """
self._check_compatibility(source, target) target = """
with guard_new():
def test_subscript_Slice(self): a = 1
source = """ """
x = y()[10:20] self._check_compatibility(source, target)
"""
target = """ def test_subscript_Index(self):
x = y()[20:40] source = """
""" x = y()[10]
self._check_compatibility(source, target) """
target = """
def test_call(self): x = y()[20]
source = """ """
y = foo(*arg) self._check_compatibility(source, target)
"""
target = """ def test_subscript_Slice(self):
y = foo(*arg_new) source = """
""" x = y()[10:20]
self._check_compatibility(source, target) """
target = """
x = y()[20:40]
"""
self._check_compatibility(source, target)
def test_call(self):
source = """
y = foo(*arg)
"""
target = """
y = foo(*arg_new)
"""
self._check_compatibility(source, target)
if __name__ == '__main__': if __name__ == '__main__':
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册