patch 8.2.3602: Python3 test fails with Python 3.10 on MS-Windows

Problem:    Python3 test fails with Python 3.10 on MS-Windows.
Solution:   Adjust the expected error. (Ken Takata, closes #9118)
This commit is contained in:
K.Takata
2021-11-16 13:08:56 +00:00
committed by Bram Moolenaar
parent fa53722367
commit 1be7e21583
2 changed files with 5 additions and 0 deletions

View File

@ -25,6 +25,7 @@ func Test_AAA_python3_setup()
py33_type_error_pattern = re.compile('^__call__\(\) takes (\d+) positional argument but (\d+) were given$')
py37_exception_repr = re.compile(r'([^\(\),])(\)+)$')
py39_type_error_pattern = re.compile('\w+\.([^(]+\(\) takes)')
py310_type_error_pattern = re.compile('takes (\d+) positional argument but (\d+) were given')
def emsg(ei):
return ei[0].__name__ + ':' + repr(ei[1].args)
@ -60,6 +61,7 @@ func Test_AAA_python3_setup()
msg = msg.replace(newmsg2, oldmsg2)
# Python 3.9 reports errors like "vim.command() takes ..." instead of "command() takes ..."
msg = py39_type_error_pattern.sub(r'\1', msg)
msg = py310_type_error_pattern.sub(r'takes exactly \1 positional argument (\2 given)', msg)
elif sys.version_info >= (3, 5) and e.__class__ is ValueError and str(e) == 'embedded null byte':
msg = repr((TypeError, TypeError('expected bytes with no null')))
else:
@ -2639,6 +2641,7 @@ func Test_python3_errors()
py3 cb = vim.current.buffer
py3 << trim EOF
import os
d = vim.Dictionary()
ned = vim.Dictionary(foo='bar', baz='abcD')
dl = vim.Dictionary(a=1)

View File

@ -757,6 +757,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
3602,
/**/
3601,
/**/