0
0
mirror of https://github.com/vim/vim.git synced 2025-09-26 04:04:07 -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:
Bram Moolenaar
2017-03-18 21:22:47 +01:00
parent 6caf606b14
commit 15e737f768
3 changed files with 22 additions and 0 deletions

View File

@@ -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. */

View File

@@ -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()

View File

@@ -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,
/**/ /**/