mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
patch 8.0.0480: the remote_peek() test fails on MS-Windows
Problem: The remote_peek() test fails on MS-Windows. Solution: Check for pending messages. Also report errors in the first run if a flaky test fails twice.
This commit is contained in:
@@ -2526,6 +2526,7 @@ serverGetReply(HWND server, int *expr_res, int remove, int wait)
|
|||||||
int i;
|
int i;
|
||||||
char_u *reply;
|
char_u *reply;
|
||||||
reply_T *rep;
|
reply_T *rep;
|
||||||
|
int did_process = FALSE;
|
||||||
|
|
||||||
/* When waiting, loop until the message waiting for is received. */
|
/* When waiting, loop until the message waiting for is received. */
|
||||||
for (;;)
|
for (;;)
|
||||||
@@ -2562,7 +2563,17 @@ serverGetReply(HWND server, int *expr_res, int remove, int wait)
|
|||||||
/* If we got here, we didn't find a reply. Return immediately if the
|
/* If we got here, we didn't find a reply. Return immediately if the
|
||||||
* "wait" parameter isn't set. */
|
* "wait" parameter isn't set. */
|
||||||
if (!wait)
|
if (!wait)
|
||||||
|
{
|
||||||
|
/* Process pending messages once. Without this, looping on
|
||||||
|
* remote_peek() would never get the reply. */
|
||||||
|
if (!did_process)
|
||||||
|
{
|
||||||
|
did_process = TRUE;
|
||||||
|
serverProcessPendingMessages();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
/* We need to wait for a reply. Enter a message loop until the
|
/* We need to wait for a reply. Enter a message loop until the
|
||||||
* "reply_received" flag gets set. */
|
* "reply_received" flag gets set. */
|
||||||
|
@@ -250,8 +250,17 @@ for s:test in sort(s:tests)
|
|||||||
call add(s:messages, 'Found errors in ' . s:test . ':')
|
call add(s:messages, 'Found errors in ' . s:test . ':')
|
||||||
call extend(s:messages, v:errors)
|
call extend(s:messages, v:errors)
|
||||||
call add(s:messages, 'Flaky test failed, running it again')
|
call add(s:messages, 'Flaky test failed, running it again')
|
||||||
|
let first_run = v:errors
|
||||||
|
|
||||||
let v:errors = []
|
let v:errors = []
|
||||||
call RunTheTest(s:test)
|
call RunTheTest(s:test)
|
||||||
|
if len(v:errors) > 0
|
||||||
|
let second_run = v:errors
|
||||||
|
let v:errors = ['First run:']
|
||||||
|
call extend(v:errors, first_run)
|
||||||
|
call add(v:errors, 'Second run:')
|
||||||
|
call extend(v:errors, second_run)
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
call AfterTheTest()
|
call AfterTheTest()
|
||||||
|
@@ -764,6 +764,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
480,
|
||||||
/**/
|
/**/
|
||||||
479,
|
479,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user