summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorichizok <gclient.gaap@gmail.com>2022-01-20 14:57:29 +0000
committerBram Moolenaar <Bram@vim.org>2022-01-20 14:57:29 +0000
commitae1bd87fe84bfb31379bc5da351bca56a3d3b571 (patch)
treec2ddc317dba707c0a90991ab3153f355151c4e53
parent726f7f91fd17e3e7eb39614a20d10ea83c134df0 (diff)
downloadvim-git-ae1bd87fe84bfb31379bc5da351bca56a3d3b571.tar.gz
patch 8.2.4157: terminal test fails because Windows sets the titlev8.2.4157
Problem: Terminal test fails because Windows sets the title. Solution: Add the "vterm_title" testing override and use it in the test. (Ozaki Kiichi, closes #9556)
-rw-r--r--runtime/doc/testing.txt2
-rw-r--r--src/globals.h1
-rw-r--r--src/terminal.c2
-rw-r--r--src/testdir/test_terminal.vim2
-rw-r--r--src/testing.c2
-rw-r--r--src/version.c2
6 files changed, 11 insertions, 0 deletions
diff --git a/runtime/doc/testing.txt b/runtime/doc/testing.txt
index 0459aa304..2811568fc 100644
--- a/runtime/doc/testing.txt
+++ b/runtime/doc/testing.txt
@@ -208,6 +208,8 @@ test_override({name}, {val}) *test_override()*
ui_delay time in msec to use in ui_delay(); overrules a
wait time of up to 3 seconds for messages
uptime overrules sysinfo.uptime
+ vterm_title setting the window title by a job running in a
+ terminal window
ALL clear all overrides ({val} is not used)
"starting" is to be used when a test should behave like
diff --git a/src/globals.h b/src/globals.h
index 94da8e0c5..7e0c1e55f 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -1642,6 +1642,7 @@ EXTERN int nfa_fail_for_testing INIT(= FALSE);
EXTERN int no_query_mouse_for_testing INIT(= FALSE);
EXTERN int ui_delay_for_testing INIT(= 0);
EXTERN int reset_term_props_on_termresponse INIT(= FALSE);
+EXTERN int disable_vterm_title_for_testing INIT(= FALSE);
EXTERN long override_sysinfo_uptime INIT(= -1);
EXTERN int override_autoload INIT(= FALSE);
diff --git a/src/terminal.c b/src/terminal.c
index f32d3adea..43a216f95 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -3088,6 +3088,8 @@ handle_settermprop(
switch (prop)
{
case VTERM_PROP_TITLE:
+ if (disable_vterm_title_for_testing)
+ break;
strval = vim_strnsave((char_u *)value->string.str,
value->string.len);
if (strval == NULL)
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index 45a364666..4ef977bbe 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -14,6 +14,7 @@ let s:python = PythonProg()
let $PROMPT_COMMAND=''
func Test_terminal_basic()
+ call test_override('vterm_title', 1)
au TerminalOpen * let b:done = 'yes'
let buf = Run_shell_in_terminal({})
@@ -37,6 +38,7 @@ func Test_terminal_basic()
call assert_equal("", bufname(buf))
au! TerminalOpen
+ call test_override('ALL', 0)
unlet g:job
endfunc
diff --git a/src/testing.c b/src/testing.c
index 34826826f..4d2a94267 100644
--- a/src/testing.c
+++ b/src/testing.c
@@ -1053,6 +1053,8 @@ f_test_override(typval_T *argvars, typval_T *rettv UNUSED)
ui_delay_for_testing = val;
else if (STRCMP(name, (char_u *)"term_props") == 0)
reset_term_props_on_termresponse = val;
+ else if (STRCMP(name, (char_u *)"vterm_title") == 0)
+ disable_vterm_title_for_testing = val;
else if (STRCMP(name, (char_u *)"uptime") == 0)
override_sysinfo_uptime = val;
else if (STRCMP(name, (char_u *)"autoload") == 0)
diff --git a/src/version.c b/src/version.c
index 6eb853f45..b79f066f5 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 4157,
+/**/
4156,
/**/
4155,