To: vim_dev@googlegroups.com Subject: Patch 8.2.0440 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.0440 Problem: Terminal noblock test is still very flaky on BSD. Solution: Increase the waiting time. Files: src/testdir/test_terminal.vim *** ../vim-8.2.0439/src/testdir/test_terminal.vim 2020-03-23 22:46:40.794055634 +0100 --- src/testdir/test_terminal.vim 2020-03-24 10:28:37.279989787 +0100 *************** *** 666,688 **** " The shell or something else has a problem dealing with more than 1000 " characters at the same time. let len = 1000 " NPFS is used in Windows, nonblocking mode does not work properly. elseif has('win32') let len = 1 else let len = 5000 endif for c in split('abcdefghijklmnopqrstuvwxyz', '\zs') call term_sendkeys(buf, 'echo ' . repeat(c, len) . "\") - call term_wait(buf, 1) endfor call term_sendkeys(buf, "echo done\") " On MS-Windows there is an extra empty line below "done". Find "done" in " the last-but-one or the last-but-two line. let lnum = term_getsize(buf)[0] - 1 ! call WaitForAssert({-> assert_match('done', term_getline(buf, lnum - 1) .. '//' .. term_getline(buf, lnum))}) let line = term_getline(buf, lnum) if line !~ 'done' let line = term_getline(buf, lnum - 1) --- 666,691 ---- " The shell or something else has a problem dealing with more than 1000 " characters at the same time. let len = 1000 + let wait_time = 15000 " NPFS is used in Windows, nonblocking mode does not work properly. elseif has('win32') let len = 1 + let wait_time = 5000 else let len = 5000 + let wait_time = 5000 endif + " Send a lot of text lines, should be buffered properly. for c in split('abcdefghijklmnopqrstuvwxyz', '\zs') call term_sendkeys(buf, 'echo ' . repeat(c, len) . "\") endfor call term_sendkeys(buf, "echo done\") " On MS-Windows there is an extra empty line below "done". Find "done" in " the last-but-one or the last-but-two line. let lnum = term_getsize(buf)[0] - 1 ! call WaitForAssert({-> assert_match('done', term_getline(buf, lnum - 1) .. '//' .. term_getline(buf, lnum))}, wait_time) let line = term_getline(buf, lnum) if line !~ 'done' let line = term_getline(buf, lnum - 1) *** ../vim-8.2.0439/src/version.c 2020-03-23 22:53:18.880838768 +0100 --- src/version.c 2020-03-24 10:30:15.111627022 +0100 *************** *** 740,741 **** --- 740,743 ---- { /* Add new patch number below this line */ + /**/ + 440, /**/ -- MORTICIAN: Bring out your dead! [clang] Bring out your dead! [clang] Bring out your dead! CUSTOMER: Here's one -- nine pence. DEAD PERSON: I'm not dead! The Quest for the Holy Grail (Monty Python) /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///