annotate src/testdir/check.vim @ 24859:9c2028b33471

Added tag v8.2.2967 for changeset 193cc8bd8a2fa97917d3a957268db920545a75c3
author Bram Moolenaar <Bram@vim.org>
date Wed, 09 Jun 2021 19:45:03 +0200
parents 9257f3980f4a
children c39a64bc5ca2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18277
f6dcf7eabd26 patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents: 17668
diff changeset
1 source shared.vim
19273
a4b65930a0dc patch 8.2.0195: some tests fail when run in the GUI
Bram Moolenaar <Bram@vim.org>
parents: 19259
diff changeset
2 source term_util.vim
18277
f6dcf7eabd26 patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents: 17668
diff changeset
3
19259
77cce0439714 patch 8.2.0188: Check commands don't work well with Vim9 script
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
4 command -nargs=1 MissingFeature throw 'Skipped: ' .. <args> .. ' feature missing'
77cce0439714 patch 8.2.0188: Check commands don't work well with Vim9 script
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
5
17089
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
6 " Command to check for the presence of a feature.
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
7 command -nargs=1 CheckFeature call CheckFeature(<f-args>)
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
8 func CheckFeature(name)
19742
810eee1b42e3 patch 8.2.0427: it is not possible to check for a typo in a feature name
Bram Moolenaar <Bram@vim.org>
parents: 19273
diff changeset
9 if !has(a:name, 1)
810eee1b42e3 patch 8.2.0427: it is not possible to check for a typo in a feature name
Bram Moolenaar <Bram@vim.org>
parents: 19273
diff changeset
10 throw 'Checking for non-existent feature ' .. a:name
810eee1b42e3 patch 8.2.0427: it is not possible to check for a typo in a feature name
Bram Moolenaar <Bram@vim.org>
parents: 19273
diff changeset
11 endif
17089
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
12 if !has(a:name)
19259
77cce0439714 patch 8.2.0188: Check commands don't work well with Vim9 script
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
13 MissingFeature a:name
17089
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
14 endif
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
15 endfunc
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
16
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
17 " Command to check for the presence of a working option.
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
18 command -nargs=1 CheckOption call CheckOption(<f-args>)
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
19 func CheckOption(name)
19746
1da2fb80b512 patch 8.2.0429: no warning when test checks for option that never exists
Bram Moolenaar <Bram@vim.org>
parents: 19742
diff changeset
20 if !exists('&' .. a:name)
1da2fb80b512 patch 8.2.0429: no warning when test checks for option that never exists
Bram Moolenaar <Bram@vim.org>
parents: 19742
diff changeset
21 throw 'Checking for non-existent option ' .. a:name
1da2fb80b512 patch 8.2.0429: no warning when test checks for option that never exists
Bram Moolenaar <Bram@vim.org>
parents: 19742
diff changeset
22 endif
17089
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
23 if !exists('+' .. a:name)
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
24 throw 'Skipped: ' .. a:name .. ' option not supported'
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
25 endif
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
26 endfunc
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
27
19805
2dc5e6ddeb4c patch 8.2.0459: cannot check if a function name is correct
Bram Moolenaar <Bram@vim.org>
parents: 19746
diff changeset
28 " Command to check for the presence of a built-in function.
17089
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
29 command -nargs=1 CheckFunction call CheckFunction(<f-args>)
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
30 func CheckFunction(name)
19805
2dc5e6ddeb4c patch 8.2.0459: cannot check if a function name is correct
Bram Moolenaar <Bram@vim.org>
parents: 19746
diff changeset
31 if !exists('?' .. a:name)
2dc5e6ddeb4c patch 8.2.0459: cannot check if a function name is correct
Bram Moolenaar <Bram@vim.org>
parents: 19746
diff changeset
32 throw 'Checking for non-existent function ' .. a:name
2dc5e6ddeb4c patch 8.2.0459: cannot check if a function name is correct
Bram Moolenaar <Bram@vim.org>
parents: 19746
diff changeset
33 endif
17089
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
34 if !exists('*' .. a:name)
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
35 throw 'Skipped: ' .. a:name .. ' function missing'
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
36 endif
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
37 endfunc
17557
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
38
17657
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
39 " Command to check for the presence of an Ex command
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
40 command -nargs=1 CheckCommand call CheckCommand(<f-args>)
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
41 func CheckCommand(name)
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
42 if !exists(':' .. a:name)
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
43 throw 'Skipped: ' .. a:name .. ' command not supported'
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
44 endif
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
45 endfunc
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
46
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
47 " Command to check for the presence of a shell command
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
48 command -nargs=1 CheckExecutable call CheckExecutable(<f-args>)
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
49 func CheckExecutable(name)
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
50 if !executable(a:name)
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
51 throw 'Skipped: ' .. a:name .. ' program not executable'
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
52 endif
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
53 endfunc
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
54
20219
820f24dc1e3e patch 8.2.0665: wrongly assuming Python executable is called "python"
Bram Moolenaar <Bram@vim.org>
parents: 20003
diff changeset
55 " Command to check for the presence of python. Argument should have been
820f24dc1e3e patch 8.2.0665: wrongly assuming Python executable is called "python"
Bram Moolenaar <Bram@vim.org>
parents: 20003
diff changeset
56 " obtained with PythonProg()
820f24dc1e3e patch 8.2.0665: wrongly assuming Python executable is called "python"
Bram Moolenaar <Bram@vim.org>
parents: 20003
diff changeset
57 func CheckPython(name)
820f24dc1e3e patch 8.2.0665: wrongly assuming Python executable is called "python"
Bram Moolenaar <Bram@vim.org>
parents: 20003
diff changeset
58 if a:name == ''
820f24dc1e3e patch 8.2.0665: wrongly assuming Python executable is called "python"
Bram Moolenaar <Bram@vim.org>
parents: 20003
diff changeset
59 throw 'Skipped: python command not available'
820f24dc1e3e patch 8.2.0665: wrongly assuming Python executable is called "python"
Bram Moolenaar <Bram@vim.org>
parents: 20003
diff changeset
60 endif
820f24dc1e3e patch 8.2.0665: wrongly assuming Python executable is called "python"
Bram Moolenaar <Bram@vim.org>
parents: 20003
diff changeset
61 endfunc
820f24dc1e3e patch 8.2.0665: wrongly assuming Python executable is called "python"
Bram Moolenaar <Bram@vim.org>
parents: 20003
diff changeset
62
17557
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
63 " Command to check for running on MS-Windows
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
64 command CheckMSWindows call CheckMSWindows()
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
65 func CheckMSWindows()
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
66 if !has('win32')
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
67 throw 'Skipped: only works on MS-Windows'
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
68 endif
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
69 endfunc
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
70
17657
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
71 " Command to check for NOT running on MS-Windows
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
72 command CheckNotMSWindows call CheckNotMSWindows()
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
73 func CheckNotMSWindows()
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
74 if has('win32')
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
75 throw 'Skipped: does not work on MS-Windows'
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
76 endif
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
77 endfunc
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
78
17557
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
79 " Command to check for running on Unix
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
80 command CheckUnix call CheckUnix()
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
81 func CheckUnix()
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
82 if !has('unix')
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
83 throw 'Skipped: only works on Unix'
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
84 endif
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
85 endfunc
17614
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
86
24091
12a773f4f62f patch 8.2.2587: recover test fails on FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 23766
diff changeset
87 " Command to check for running on Linix
12a773f4f62f patch 8.2.2587: recover test fails on FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 23766
diff changeset
88 command CheckLinux call CheckLinux()
12a773f4f62f patch 8.2.2587: recover test fails on FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 23766
diff changeset
89 func CheckLinux()
12a773f4f62f patch 8.2.2587: recover test fails on FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 23766
diff changeset
90 if !has('linux')
12a773f4f62f patch 8.2.2587: recover test fails on FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 23766
diff changeset
91 throw 'Skipped: only works on Linux'
12a773f4f62f patch 8.2.2587: recover test fails on FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 23766
diff changeset
92 endif
12a773f4f62f patch 8.2.2587: recover test fails on FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 23766
diff changeset
93 endfunc
12a773f4f62f patch 8.2.2587: recover test fails on FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 23766
diff changeset
94
24268
9257f3980f4a patch 8.2.2675: directory change in a terminal window shell is not followed
Bram Moolenaar <Bram@vim.org>
parents: 24172
diff changeset
95 " Command to check for not running on a BSD system.
9257f3980f4a patch 8.2.2675: directory change in a terminal window shell is not followed
Bram Moolenaar <Bram@vim.org>
parents: 24172
diff changeset
96 command CheckNotBSD call CheckNotBSD()
9257f3980f4a patch 8.2.2675: directory change in a terminal window shell is not followed
Bram Moolenaar <Bram@vim.org>
parents: 24172
diff changeset
97 func CheckNotBSD()
9257f3980f4a patch 8.2.2675: directory change in a terminal window shell is not followed
Bram Moolenaar <Bram@vim.org>
parents: 24172
diff changeset
98 if has('bsd')
9257f3980f4a patch 8.2.2675: directory change in a terminal window shell is not followed
Bram Moolenaar <Bram@vim.org>
parents: 24172
diff changeset
99 throw 'Skipped: does not work on BSD'
9257f3980f4a patch 8.2.2675: directory change in a terminal window shell is not followed
Bram Moolenaar <Bram@vim.org>
parents: 24172
diff changeset
100 endif
9257f3980f4a patch 8.2.2675: directory change in a terminal window shell is not followed
Bram Moolenaar <Bram@vim.org>
parents: 24172
diff changeset
101 endfunc
9257f3980f4a patch 8.2.2675: directory change in a terminal window shell is not followed
Bram Moolenaar <Bram@vim.org>
parents: 24172
diff changeset
102
17614
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
103 " Command to check that making screendumps is supported.
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
104 " Caller must source screendump.vim
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
105 command CheckScreendump call CheckScreendump()
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
106 func CheckScreendump()
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
107 if !CanRunVimInTerminal()
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
108 throw 'Skipped: cannot make screendumps'
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
109 endif
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
110 endfunc
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
111
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
112 " Command to check that we can Run Vim in a terminal window
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
113 command CheckRunVimInTerminal call CheckRunVimInTerminal()
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
114 func CheckRunVimInTerminal()
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
115 if !CanRunVimInTerminal()
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
116 throw 'Skipped: cannot run Vim in a terminal window'
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
117 endif
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
118 endfunc
17657
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
119
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
120 " Command to check that we can run the GUI
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
121 command CheckCanRunGui call CheckCanRunGui()
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
122 func CheckCanRunGui()
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
123 if !has('gui') || ($DISPLAY == "" && !has('gui_running'))
17668
923154c51bef patch 8.1.1831: confusing skipped message
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
124 throw 'Skipped: cannot start the GUI'
17657
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
125 endif
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
126 endfunc
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
127
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
128 " Command to check that we are using the GUI
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
129 command CheckGui call CheckGui()
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
130 func CheckGui()
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
131 if !has('gui_running')
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
132 throw 'Skipped: only works in the GUI'
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
133 endif
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
134 endfunc
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
135
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
136 " Command to check that not currently using the GUI
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
137 command CheckNotGui call CheckNotGui()
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
138 func CheckNotGui()
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
139 if has('gui_running')
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
140 throw 'Skipped: only works in the terminal'
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
141 endif
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
142 endfunc
18277
f6dcf7eabd26 patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents: 17668
diff changeset
143
f6dcf7eabd26 patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents: 17668
diff changeset
144 " Command to check that test is not running as root
f6dcf7eabd26 patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents: 17668
diff changeset
145 command CheckNotRoot call CheckNotRoot()
f6dcf7eabd26 patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents: 17668
diff changeset
146 func CheckNotRoot()
f6dcf7eabd26 patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents: 17668
diff changeset
147 if IsRoot()
f6dcf7eabd26 patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents: 17668
diff changeset
148 throw 'Skipped: cannot run test as root'
f6dcf7eabd26 patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents: 17668
diff changeset
149 endif
f6dcf7eabd26 patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents: 17668
diff changeset
150 endfunc
19906
031184ace7c5 patch 8.2.0509: various code is not properly tested.
Bram Moolenaar <Bram@vim.org>
parents: 19805
diff changeset
151
031184ace7c5 patch 8.2.0509: various code is not properly tested.
Bram Moolenaar <Bram@vim.org>
parents: 19805
diff changeset
152 " Command to check that the current language is English
031184ace7c5 patch 8.2.0509: various code is not properly tested.
Bram Moolenaar <Bram@vim.org>
parents: 19805
diff changeset
153 command CheckEnglish call CheckEnglish()
031184ace7c5 patch 8.2.0509: various code is not properly tested.
Bram Moolenaar <Bram@vim.org>
parents: 19805
diff changeset
154 func CheckEnglish()
031184ace7c5 patch 8.2.0509: various code is not properly tested.
Bram Moolenaar <Bram@vim.org>
parents: 19805
diff changeset
155 if v:lang != "C" && v:lang !~ '^[Ee]n'
031184ace7c5 patch 8.2.0509: various code is not properly tested.
Bram Moolenaar <Bram@vim.org>
parents: 19805
diff changeset
156 throw 'Skipped: only works in English language environment'
031184ace7c5 patch 8.2.0509: various code is not properly tested.
Bram Moolenaar <Bram@vim.org>
parents: 19805
diff changeset
157 endif
031184ace7c5 patch 8.2.0509: various code is not properly tested.
Bram Moolenaar <Bram@vim.org>
parents: 19805
diff changeset
158 endfunc
031184ace7c5 patch 8.2.0509: various code is not properly tested.
Bram Moolenaar <Bram@vim.org>
parents: 19805
diff changeset
159
20003
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
160 " Command to check that loopback device has IPv6 address
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
161 command CheckIPv6 call CheckIPv6()
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
162 func CheckIPv6()
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
163 if !has('ipv6')
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
164 throw 'Skipped: cannot use IPv6 networking'
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
165 endif
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
166 if !exists('s:ipv6_loopback')
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
167 let s:ipv6_loopback = s:CheckIPv6Loopback()
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
168 endif
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
169 if !s:ipv6_loopback
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
170 throw 'Skipped: no IPv6 address for loopback device'
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
171 endif
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
172 endfunc
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
173
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
174 func s:CheckIPv6Loopback()
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
175 if has('win32')
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
176 return system('netsh interface ipv6 show interface') =~? '\<Loopback\>'
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
177 elseif filereadable('/proc/net/if_inet6')
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
178 return (match(readfile('/proc/net/if_inet6'), '\slo$') >= 0)
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
179 elseif executable('ifconfig')
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
180 for dev in ['lo0', 'lo', 'loop']
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
181 " NOTE: On SunOS, need specify address family 'inet6' to get IPv6 info.
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
182 if system('ifconfig ' .. dev .. ' inet6 2>/dev/null') =~? '\<inet6\>'
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
183 \ || system('ifconfig ' .. dev .. ' 2>/dev/null') =~? '\<inet6\>'
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
184 return v:true
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
185 endif
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
186 endfor
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
187 else
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
188 " TODO: How to check it in other platforms?
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
189 endif
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
190 return v:false
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
191 endfunc
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19906
diff changeset
192
23766
704fdd4d0949 patch 8.2.2424: some tests are known to cause an error with ASAN
Bram Moolenaar <Bram@vim.org>
parents: 20219
diff changeset
193 " Command to check for not running under ASAN
704fdd4d0949 patch 8.2.2424: some tests are known to cause an error with ASAN
Bram Moolenaar <Bram@vim.org>
parents: 20219
diff changeset
194 command CheckNotAsan call CheckNotAsan()
704fdd4d0949 patch 8.2.2424: some tests are known to cause an error with ASAN
Bram Moolenaar <Bram@vim.org>
parents: 20219
diff changeset
195 func CheckNotAsan()
704fdd4d0949 patch 8.2.2424: some tests are known to cause an error with ASAN
Bram Moolenaar <Bram@vim.org>
parents: 20219
diff changeset
196 if execute('version') =~# '-fsanitize=[a-z,]*\<address\>'
704fdd4d0949 patch 8.2.2424: some tests are known to cause an error with ASAN
Bram Moolenaar <Bram@vim.org>
parents: 20219
diff changeset
197 throw 'Skipped: does not work with ASAN'
704fdd4d0949 patch 8.2.2424: some tests are known to cause an error with ASAN
Bram Moolenaar <Bram@vim.org>
parents: 20219
diff changeset
198 endif
704fdd4d0949 patch 8.2.2424: some tests are known to cause an error with ASAN
Bram Moolenaar <Bram@vim.org>
parents: 20219
diff changeset
199 endfunc
704fdd4d0949 patch 8.2.2424: some tests are known to cause an error with ASAN
Bram Moolenaar <Bram@vim.org>
parents: 20219
diff changeset
200
24140
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
201 " Command to check for satisfying any of the conditions.
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
202 " e.g. CheckAnyOf Feature:bsd Feature:sun Linux
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
203 command -nargs=+ CheckAnyOf call CheckAnyOf(<f-args>)
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
204 func CheckAnyOf(...)
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
205 let excp = []
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
206 for arg in a:000
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
207 try
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
208 exe 'Check' .. substitute(arg, ':', ' ', '')
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
209 return
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
210 catch /^Skipped:/
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
211 let excp += [substitute(v:exception, '^Skipped:\s*', '', '')]
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
212 endtry
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
213 endfor
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
214 throw 'Skipped: ' .. join(excp, '; ')
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
215 endfunc
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
216
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
217 " Command to check for satisfying all of the conditions.
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
218 " e.g. CheckAllOf Unix Gui Option:ballooneval
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
219 command -nargs=+ CheckAllOf call CheckAllOf(<f-args>)
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
220 func CheckAllOf(...)
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
221 for arg in a:000
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
222 exe 'Check' .. substitute(arg, ':', ' ', '')
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
223 endfor
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
224 endfunc
af489e854955 patch 8.2.2611: conditions for startup tests are not exactly right
Bram Moolenaar <Bram@vim.org>
parents: 24091
diff changeset
225
19906
031184ace7c5 patch 8.2.0509: various code is not properly tested.
Bram Moolenaar <Bram@vim.org>
parents: 19805
diff changeset
226 " vim: shiftwidth=2 sts=2 expandtab