Describe the bug
test_terminal.vim fails after patch 8.2.0738 (commit 91689ea).
To Reproduce
Detailed steps to reproduce the behavior:
makemake -j1 testExpected behavior
Test should pass.
Environment (please complete the following information):
TERM=xterm).Additional context
Terminal output:
Failures:
test86 FAILED
test87 FAILED
From test_terminal.vim:
Found errors in Test_term_keycode_translation():
Run 1:
function RunTheTest[39]..Test_term_keycode_translation line 30: Expected ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '0123456789', '\t\t.+-*/'] but got ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '', '\t\t.+-*/<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '45678012']
Run 2:
function RunTheTest[39]..Test_term_keycode_translation line 30: Expected ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '0123456789', '\t\t.+-*/'] but got ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '', '\t\t.+-*/<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '45678012']
Flaky test failed too often, giving up
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.![]()
Hello Yegappan,
Can you manually try creating a terminal
window with Vim using the following command?:call term_start('vim')
Sure, I did
.../vim/src $ TERM=xterm ./vim --clean
then ran :call term_start('vim'), switched to the 'terminal' window
In the terminal window, can you press each of the following keys preceded by
CTRL-K
entered to insert mode (iCTRL-K <Left> etc) but I'm not sure about this
and get the text from the terminal window?
Should I simply save the 'terminal' windows in a file, like
:saveas ~/tmp/keycodes.txt
or something else? If this is the way then I got (text)
<Left><S-Left><C-Left><Right><S-Right><C-Right><Up><S-Up><Down><S-Down>
P.S. Just to be clear: all tests above was run in kitty (inside tmux and just in kitty window). Also I have run make -j1 test in alacritty and see the same failure. May it be related with SSH session? The compilation and tests run was on remote host.
P.P.S. I "logged" on remote host "directly" (actually this is NOT a remote host, it is systemd-nspawn container which is used for build purpose) and ran tests this way but still two tests are failed though without details this time.
Executed: 3129 Tests
Skipped: 35 Tests
Failed: 0 Tests
Failures:
test86 FAILED
test87 FAILED
TEST FAILURE
—
You are receiving this because you commented.
Hello Yegappan,
Can you manually try creating a terminal
window with Vim using the following command?:call term_start('vim')Sure, I did
.../vim/src $ TERM=xterm ./vim --clean
then ran
:call term_start('vim'), switched to the 'terminal' windowIn the terminal window, can you press each of the following keys preceded by
CTRL-Kentered to insert mode (
iCTRL-K <Left>etc) but I'm not sure about thisand get the text from the terminal window?
Should I simply save the 'terminal' windows in a file, like
:saveas ~/tmp/keycodes.txtor something else? If this is the way then I got (text)
<Left><S-Left><C-Left><Right><S-Right><C-Right><Up><S-Up><Down><S-Down>P.S. Just to be clear: all tests above was run in
kitty(insidetmuxand just inkittywindow). Also I have runmake -j1 testinalacrittyand see the same failure. May it be related with SSH session? The compilation and tests run was on remote host.P.P.S. I "logged" on remote host "directly" (actually this is NOT a remote host, it is
systemd-nspawncontainer which is used for build purpose) and ran tests this way but still two tests are failed though without details this time.
Hello Yegappan,
Is the terminal an xterm compatible terminal?
Dunno,
In the above command, you are setting TERM to xterm.
This is how make test is run in "build" script (I'm using Archlinux and to run test PKGBUILD uses
TERM=xterm make -j1 test
and I think it is used to be sure that TERM is xterm regardless of used terminal emulator).
Can you try running the test with TERM set to xterm-kitty?
I did even more, I tested several TERM in kitty and alacritty and results a bit strange to me:
terminal \ TERM | xterm | xterm-kitty | alacritty | tmux-256color |
----------------+-------+-------------+-----------+---------------+
kitty | F | S | F | F |
alacritty | F | S | F | F |
----------------+-------+-------------+-----------+---------------+
F - fail;
S - success;
These all is SSH session but outside tmux session.
I didn't do
$ cd vim/src/testdir $ ../vim -u NONE -S runtest.vim test_terminal.vim Test_term_keycode_translation
I simply ran TERM=XXXX make -j1 test.
After running the above command, look at the contents of the test.log and messages files.
I ran the command in kitty with TERM=xterm-kitty (i.e. not setting TERM manually) but it ran very quickly and didn't produce test.log. Is it Ok? Any other TERM gives test.log:
From test_terminal.vim:
Found errors in Test_term_keycode_translation():
Run 1:
function RunTheTest[39]..Test_term_keycode_translation line 30: Expected ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '0123456789', '\t\t.+-*/'] but got ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '', '\t\t.+-*/<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '45678012']
Run 2:
function RunTheTest[39]..Test_term_keycode_translation line 30: Expected ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '0123456789', '\t\t.+-*/'] but got ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '', '\t\t.+-*/<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '45678012']
Flaky test failed too often, giving up
then ran :call term_start('vim'), switched to the 'terminal' window
Could you give a bit more instruction because I'm totally confused. If I run
$ ./vim --clean -u NONE
and in "terminal" window enter CTRL-K<Left>... I get strange results but if I run
$ ./vim
I get
<Left><S-Left><C-Left><Right><S-Right><C-Right><Up><S-Up><Down><S-Down>
with both TERM=xterm and TERM=xterm-kitty. I thought that --clean -u NONE ensures that vim won't use any user configuration but with them vim gives me weird output.
—
You are receiving this because you commented.
Hello Yegappan,
Is the terminal an xterm compatible terminal?
Dunno,
In the above command, you are setting TERM to xterm.
This is how
make testis run in "build" script (I'm using Archlinux and to run testPKGBUILDusesTERM=xterm make -j1 testand I think it is used to be sure that
TERMisxtermregardless of used terminal emulator).Can you try running the test with TERM set to xterm-kitty?
I did even more, I tested several
TERMin kitty and alacritty and results a bit strange to me:terminal \ TERM | xterm | xterm-kitty | alacritty | tmux-256color | ----------------+-------+-------------+-----------+---------------+ kitty | F | S | F | F | alacritty | F | S | F | F | ----------------+-------+-------------+-----------+---------------+ F - fail; S - success;
These all is SSH session but outside tmux session.
I didn't do
$ cd vim/src/testdir $ ../vim -u NONE -S runtest.vim test_terminal.vim Test_term_keycode_translationI simply ran
TERM=XXXX make -j1 test.After running the above command, look at the contents of the test.log and messages files.
I ran the command in kitty with
TERM=xterm-kitty(i.e. not settingTERMmanually) but it ran very quickly and didn't producetest.log. Is it Ok? Any otherTERMgivestest.log:
From test_terminal.vim: Found errors in Test_term_keycode_translation(): Run 1: function RunTheTest[39]..Test_term_keycode_translation line 30: Expected ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '0123456789', '\t\t.+-*/'] but got ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '', '\t\t.+-*/<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '45678012'] Run 2: function RunTheTest[39]..Test_term_keycode_translation line 30: Expected ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '0123456789', '\t\t.+-*/'] but got ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '', '\t\t.+-*/<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '45678012'] Flaky test failed too often, giving upthen ran :call term_start('vim'), switched to the 'terminal' window
Could you give a bit more instruction because I'm totally confused. If I run
$ ./vim --clean -u NONEand in "terminal" window enter
CTRL-K<Left>...I get strange results but if I run$ ./vimI get
<Left><S-Left><C-Left><Right><S-Right><C-Right><Up><S-Up><Down><S-Down>with both
TERM=xtermandTERM=xterm-kitty. I thought that--clean -u NONEensures that vim won't use any user configuration but with them vim gives me weird output.
Hello Yegappan,
This table confirms that when the TERM is set to xterm-kitty (according to the kitty FAQ,
this is the proper value for TERM), the Vim terminal key code translation works correctly. For all the other TERM settings, the key code translation is not correct.
Do I understand you correctly that test will run successfully only in xterm-kitty terminal? Or vim somehow tries to figure out in what terminal it being run and run terminal test using correct terminal keycodes?
I thought that setting TERM=xterm is enough to run tests successfully on xterm-compatible terminal.
I'm a bit perplexed now. I tried several terminal emulators, VT (virtual console) but either in kitty or termite itself or when I set TERM=xterm-kitty or TERM=xterm-termite this test is passed while other variants fail.
—
You are receiving this because you commented.
Hello Yegappan,
This table confirms that when the TERM is set to xterm-kitty (according to the kitty FAQ,
this is the proper value for TERM), the Vim terminal key code translation works correctly. For all the other TERM settings, the key code translation is not correct.Do I understand you correctly that test will run successfully only in
xterm-kittyterminal?
Or vim somehow tries to figure out in what terminal it being run and run terminal test using correct terminal keycodes?
I thought that setting
TERM=xtermis enough to run tests successfully on xterm-compatible terminal.
I'm a bit perplexed now. I tried several terminal emulators, VT (virtual console) but either in kitty or termite itself or when I set
TERM=xterm-kittyorTERM=xterm-termitethis test is passed while other variants fail.
Hello Yegappan,
The TERM variable should be set to the appropriate value to match the current terminal. Otherwise the escape sequences sent by Vim will not be properly interpreted by the terminal.
Of course and manual setting of TERM variable isn't encouraged, e.g.. But speaking of tmux, inside tmux session the terminal is set to tmux-256color even if this session is run in kitty terminal. What should vim do in this case? How test should treat this case?
Even though different terminals claim to be xterm compatible, there are still some differences (i.e. they are not fully compatible with xterm).
Ouch, then the tests must be run with specific TERM only? I checked that both xterm-kitty and xterm-termite work fine (I ran test in kitty and termite using "default" TERM and manually setting TERM to other variant).
I "fixed" build script to use TERM=xterm-kitty because the build process runs in tmux session but I'm still unsure why vim fails the Test_term_keycode_translation test in other terminals except kitty and termite (I checked the test in qterminal, terminology and alacritty terminals with "default" settings).
For the alacritty terminal, you should set the TERM variable to alacritty.
The "default" TERM value is alacritty and that TERM doesn't work, test fails. If I run
TERM=xterm-kitty ../vim -u NONE -S runtest.vim test_terminal.vim Test_term_keycodes_translation
or with TERM=xterm-termite the test passes.
—
You are receiving this because you commented.
The tests should work in any terminal, we can't depend on specific escape codes. For that we use the terminal window, which always supports the same set of escape sequences, and we use the screenshot mechanism of what the terminal emulator sees, not what is actually on the screen (which may be messed up if $TERM is not set properly).
This can be tricky to make fully work...
—
You are receiving this because you commented.
The problem with the test appears to be that it uses "<F1>" which gets the escape code for the current terminal, not the terminal window.
—
You are receiving this because you commented.
I installed kitty and with $TERM set to "xterm" the test passes.
I also tried using ssh and tmux, test still passes.
What is needed to reproduce the problem?
—
You are receiving this because you commented.
Hello,
I installed kitty and with $TERM set to "xterm" the test passes.
I also tried using ssh and tmux, test still passes.
What is needed to reproduce the problem?
As I told I build vim and run tests in systemd container to which I connected by ssh. I tried to "directly" connect to the container using machinectl with the same result.
Now I tried to compile vim locally on host with almost the same environment and I see very bizarre thing (these results I got in bare kitty window):
1. the test alone is passed regardless the TERM: both
../vim -u NONE -S runtest.vim test_terminal.vim Test_term_keycodes_translation
and
TERM=xterm ../vim -u NONE -S runtest.vim test_terminal.vim Test_term_keycodes_translation
pass giving no test.log.
2. The make -j1 test as is in kitty terminal passes but
$ TERM=xterm make -j1 test
fails.
3. The :call term_start('vim') route works with both "default" TERM
$ ./vim
and TERM=xterm
$ TERM=xterm ./vim
Connecting to this host by ssh changes nothing.
I rechecked these points in container connecting to it by ssh in kitty and see the same.
The other terminals I tested behave very different (especially alacritty, terminology and qterminal, the termite works as kitty).
As for tmux session, inside tmux the TERM is
$ echo $TERM
tmux-256color
and repeating all three points inside tmux I see that 1 passes, the 3 doesn't play well:
<Left><S-Left>[1;5D<Right><S-Right>[1;5C<Up>[1;2A<Down>[1;2B
and 2 throws the same error.
To be clear, this is my environment:
$ cat /etc/os-release
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://www.archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"
LOGO=archlinux
$ pacman -Qs gcc
local/gcc 10.1.0-1 (base-devel)
The GNU Compiler Collection - C and C++ frontends
$ pacman -Qs ncurses
local/ncurses 6.2-1
System V Release 4.0 curses emulation library
$ pacman -Qs tmux
local/tmux-git 3.1_b_423_g4cb1d3d7-1
A terminal multiplexer.
$ pacman -Qs ssh
local/openssh 8.2p1-3
Premier connectivity tool for remote login with the SSH protocol
P.S. Though I found a workaround for build script I don't like just pass by this problem because I use terminals (kitty, less alacritty and lesser termite) and vim every day.
—
You are receiving this because you commented.
Just a question that I think is related, if I start an alacritty terminal and TERM=alacritty and I start vim and verify term=alacritty inside vim and all is good :-) and then I start a :terminal - what should TERM be set to inside that terminal ? I am seeing xterm-256color even tho I cannot find anywhere I set that. Is this correct ?
thx,
-m
—
You are receiving this because you commented.
then I start a :terminal - what should TERM be set to inside that terminal ? I am seeing xterm-256color even tho I cannot find anywhere I set that. Is this correct ?
Yes, that's correct. At that point, Vim is the terminal, so $TERM is set to what it understands and what the apps inside should use to communicate with Vim (really libvterm). Vim then handles emitting the correct escape codes to the terminal that Vim is running in.
—
You are receiving this because you commented.
ok, thanks for that great info.
—
You are receiving this because you commented.
I have the same error. Here's some info that I hope helps:
To reproduce: https://github.com/neilhwatson/nustuff/blob/master/vim/playbook.yaml
Term info:
env|grep -i term
COLORTERM=truecolor
GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/5e844f8c_8918_4e2e_bebd_1756e0762f59
TERM=xterm-256color
GNOME_TERMINAL_SERVICE=:1.2948
Failures:
From test_terminal.vim:
Found errors in Test_term_keycode_translation():
Run 1:
function RunTheTest[39]..Test_term_keycode_translation line 30: Expected ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '0123456789', '\t\t.+-*/'] but got ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '', '\t\t.+-*/<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '45678012']
Run 2:
function RunTheTest[39]..Test_term_keycode_translation line 30: Expected ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '0123456789', '\t\t.+-*/'] but got ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '', '\t\t.+-*/<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '45678012']
Flaky test failed too often, giving up
—
You are receiving this because you commented.
I see the test is going to Terminal-Normal mode for no reason.
Let me change that, it might also help for this problem.
—
You are receiving this because you commented.
Please try after patch 8.2.0801
—
You are receiving this because you commented.
8.2.0803 still failed.
Failures:
From test_terminal.vim:
Found errors in Test_term_keycode_translation():
Run 1:
function RunTheTest[39]..Test_term_keycode_translation line 30: Expected ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '0123456789', '\t\t.+-*/'] but got ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '', '\t\t.+-*/<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '45678012']
Run 2:
function RunTheTest[39]..Test_term_keycode_translation line 30: Expected ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '0123456789', '\t\t.+-*/'] but got ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '', '\t\t.+-*/<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '45678012']
Flaky test failed too often, giving up
—
You are receiving this because you commented.
weird. The escape codes appear to be interpreted OK, but the order changes. Look at the keypad keys, starting with 4, 012 at the end, and 9 and 3 are missing.
There is not much more I can do without being able to reproduce.
You could enable channel logging to see what goes over the channel, using ch_logfile().
Perhaps that shows something (especially if you do the same on a system where the tests passes and compare the logs).
—
You are receiving this because you commented.
—
You are receiving this because you are subscribed to this thread.
Same but different?
Failures:
From test_terminal.vim:
Found errors in Test_term_keycode_translation():
Run 1:
function RunTheTest[39]..Test_term_keycode_translation line 30: Expected ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '0123456789', '\t\t.+-*/'] but got ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '', '\t\t.+-*/<Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '45678012']
Run 2:
function RunTheTest[39]..Test_term_keycode_translation line 30: Expected ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '0123456789', '\t\t.+-*/'] but got ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '', '\t\t.+-*/<Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '45678012']
Flaky test failed too often, giving up
Screen size too small! Tests require at least 24 lines with 80 characters, got 50 lines with 63 characters
—
You are receiving this because you commented.
—
You are receiving this because you are subscribed to this thread.
Failure.
ailures:
From test_terminal.vim:
Found errors in Test_term_keycode_translation():
Run 1:
function RunTheTest[39]..Test_term_keycode_translation line 32: Expected ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '0123456789', '.+-*/', 'two'] but got ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '', '.+-*/<S-Left>', 'two', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '45678012']
Run 2:
function RunTheTest[39]..Test_term_keycode_translation line 32: Expected ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '<S-Left>', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '0123456789', '.+-*/', 'two'] but got ['<F1>', '<F2>', '<F3>', '<F4>', '<F5>', '<F6>', '<F7>', '<F8>', '<F9>', '<F10>', '<F11>', '<F12>', '<Home>', '<S-Home>', '<C-Home>', '<End>', '<S-End>', '<C-End>', '<Insert>', '<Del>', '<Left>', '', '.+-*/<S-Left>', 'two', '<C-Left>', '<Right>', '<S-Right>', '<C-Right>', '<Up>', '<S-Up>', '<Down>', '<S-Down>', '45678012']
Flaky test failed too often, giving up
—
You are receiving this because you commented.
I don't think any of the codes fail, I think it has to do with the length. Try testing with ten times all the function keys and see what gets returned.
I don't think any of the codes fail, I think it has to do with the length. Try testing with ten times all the function keys and see what gets returned.
Sorry, I don't know what that means.
I don't think any of the codes fail, I think it has to do with the length. Try testing with ten times all the function keys and see what gets returned.
—
You are receiving this because you are subscribed to this thread.
Hi Bram,
On Wed, May 20, 2020 at 2:32 PM Bram Moolenaar <vim-dev...@256bit.org>
wrote:
> I don't think any of the codes fail, I think it has to do with the length.
> Try testing with ten times all the function keys and see what gets returned.
>
>
>
I think there is a bug in handling the keypad number keys. I have modified
the Test_term_keycode_translation() function to send each special key
separately and check the output. This fails when handling the keypad
number keys on MacOS. If I modify the test to only send the keypad
keys, then the test passes. I am attaching the updated test function.
Hello Yegappan,
I tested this version of Test_term_keycode_translation and I got
Failures:
From test_terminal.vim:
Found errors in Test_term_keycode_translation():
Run 1:
function RunTheTest[39]..Test_term_keycode_translation line 33: Expected '3' but got ''
function RunTheTest[39]..Test_term_keycode_translation line 33: Expected '9' but got ''
Run 2:
function RunTheTest[39]..Test_term_keycode_translation line 33: Expected '3' but got ''
function RunTheTest[39]..Test_term_keycode_translation line 33: Expected '9' but got ''
Flaky test failed too often, giving up
when ran TERM=xterm make -j1 test in .../vim/src. I used vim from commit patch 8.2.0803: libvterm code lags behind the upstream version
—
You are receiving this because you commented.
Same here:
tmux in an urxvt
ssh remote
TERM=tmux-256color
—