[vim/vim] test_popupwin: two terminal tests fail on FreeBSD since 9.2.0757 (Issue #20955)

neil (Vim Github Repository) <[email protected]> Thu, 06 Aug 2026 03:48:35 -0700
Newsgroups gmane.editors.vim.devel
Message-ID <vim/vim/issues/[email protected]>
neilpang created an issue (vim/vim#20955)

Two tests in test_popupwin.vim fail on FreeBSD since v9.2.0757:

    Test_popup_opacity_terminal_no_freeze()
    Test_popupwin_terminal_buffer()

Both fail the same way on 14.4 and 15.1, deterministically -- the flaky
retry runs all five times and gives up:

    Test_popupwin_terminal_buffer[22]..WaitForAssert[2]..<lambda>861
    line 1: Expected 'x' but got 'xx'

Bisected on one FreeBSD 15.1 VM, ./configure --with-features=huge, tests
run as a non-root user under a controlling terminal:

    f0cae9d5  2026-05-31  9.2.0580  pass
    fab9ce99  2026-06-10  9.2.0614  pass
    2c363111  2026-06-28  9.2.0744  pass
    a1d51971  2026-06-30  9.2.0757  fail

9.2.0757 is the commit that changed both assertions from the cell next to
the cursor to the whole terminal line:

    -call WaitForAssert({-> assert_equal('x', screenstring(screenrow(), screencol() - 1))})
    +call WaitForAssert({-> assert_equal('x', term_getline(termbuf, '.'))})

screenstring() read one cell, so it did not care how many times the
character got echoed. term_getline() reads the whole line, and on FreeBSD
that line is 'xx'. The other assertion the same commit changed, the empty
prompt line, passes.

I could not reduce it. A standalone script doing term_start(&shell) with
the same env dict and then typing x reports 'x', not 'xx', in all four of
window/popup x term_sendkeys/feedkeys. So it needs something else from the
suite context and I have not found what, but the bisect is clean: same VM,
same build flags, configure re-run at every point.

Nothing else fails -- 7727 of 7729 tests pass on 14.4, same on 15.1.

This went unseen because .cirrus.yml was removed in 0abffbff on 2026-06-10
and 9.2.0757 landed 20 days later. The last commit Cirrus reported
"FreeBSD 15.0 success" on is f0cae9d5. I am putting together a PR to run
the FreeBSD job on GitHub Actions instead; with it, master is red on
exactly these two tests and 2c363111 is green.

Bisect run: https://github.com/neilpang/vim/actions/runs/31093484712

Disclosure: this report was put together with AI assistance.


-- 
Reply to this email directly or view it on GitHub:
https://github.com/vim/vim/issues/20955
You are receiving this because you are subscribed to this thread.

Message ID: <vim/vim/issues/[email protected]>

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To view this discussion visit https://groups.google.com/d/msgid/vim_dev/vim/vim/issues/20955%40github.com.