patch 9.1.1092: tests: fix expected return code for python 3.13 on Windows
Problem: tests: fix expected return code for python 3.13 on Windows
Solution: Check for return code 1 or 123 on Windows
There is a regression with python 3.13 on Windows, that it no longer
prints the requested error code, but instead exits with return code 1,
which breaks the test-suite.
So let's check for either exit code 1 or 123 in tests
Test_terminal_duplicate_eof_arg() and Test_terminal_eof_arg()
This will probably be fixed on the Python side, see the pull request
python/cpython#129901 but in the meantime, let's allow both error codes.
related: #16599
related: python/cpython#129900
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index b53f0cd..89a8abc 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -944,7 +944,15 @@
call WaitFor({-> getline('$') =~ 'hello'})
call assert_equal('hello', getline('$'))
endif
- call assert_equal(123, bufnr()->term_getjob()->job_info().exitval)
+ let exitval = bufnr()->term_getjob()->job_info().exitval
+ if !has('win32')
+ call assert_equal(123, exitval)
+ else
+ " python 3.13 on Windows returns exit code 1
+ " older versions returned correctly exit code 123
+ " https://github.com/python/cpython/issues/129900
+ call assert_match('1\|123', exitval)
+ endif
%bwipe!
endfunc
@@ -976,7 +984,15 @@
call WaitFor({-> getline('$') =~ 'hello'})
call assert_equal('hello', getline('$'))
endif
- call assert_equal(123, bufnr()->term_getjob()->job_info().exitval)
+ let exitval = bufnr()->term_getjob()->job_info().exitval
+ if !has('win32')
+ call assert_equal(123, exitval)
+ else
+ " python 3.13 on Windows returns exit code 1
+ " older versions returned correctly exit code 123
+ " https://github.com/python/cpython/issues/129900
+ call assert_match('1\|123', exitval)
+ endif
%bwipe!
endfunc
diff --git a/src/version.c b/src/version.c
index 0406202..fe43fd4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1092,
+/**/
1091,
/**/
1090,