annotate src/testdir/check.vim @ 19259:77cce0439714 v8.2.0188

patch 8.2.0188: Check commands don't work well with Vim9 script Commit: https://github.com/vim/vim/commit/7f829cab356d63b8e59559285593777a66bcc02b Author: Bram Moolenaar <Bram@vim.org> Date: Fri Jan 31 22:12:41 2020 +0100 patch 8.2.0188: Check commands don't work well with Vim9 script Problem: Check commands don't work well with Vim9 script. Solution: Improve constant expression handling.
author Bram Moolenaar <Bram@vim.org>
date Fri, 31 Jan 2020 22:15:03 +0100
parents 97d534e17874
children a4b65930a0dc
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
f6dcf7eabd26 patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents: 17668
diff changeset
2
19259
77cce0439714 patch 8.2.0188: Check commands don't work well with Vim9 script
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
3 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
4
17089
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
5 " 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
6 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
7 func CheckFeature(name)
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
8 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
9 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
10 endif
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
11 endfunc
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
12
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
13 " 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
14 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
15 func CheckOption(name)
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
16 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
17 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
18 endif
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
19 endfunc
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
20
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
21 " Command to check for the presence of a function.
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
22 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
23 func CheckFunction(name)
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
24 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
25 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
26 endif
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
27 endfunc
17557
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
28
17657
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
29 " 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
30 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
31 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
32 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
33 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
34 endif
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
35 endfunc
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
36
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
37 " 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
38 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
39 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
40 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
41 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
42 endif
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
43 endfunc
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
44
17557
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
45 " 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
46 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
47 func CheckMSWindows()
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
48 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
49 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
50 endif
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
51 endfunc
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
52
17657
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
53 " 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
54 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
55 func CheckNotMSWindows()
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
56 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
57 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
58 endif
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
59 endfunc
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
60
17557
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
61 " 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
62 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
63 func CheckUnix()
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
64 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
65 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
66 endif
4a22102fda8f patch 8.1.1776: text added with a job isn't displayed
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
67 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
68
18736
97d534e17874 patch 8.1.2358: tests fail on Cirrus CI for FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 18277
diff changeset
69 " Command to check for not running on a BSD system.
97d534e17874 patch 8.1.2358: tests fail on Cirrus CI for FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 18277
diff changeset
70 " TODO: using this checks should not be needed
97d534e17874 patch 8.1.2358: tests fail on Cirrus CI for FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 18277
diff changeset
71 command CheckNotBSD call CheckNotBSD()
97d534e17874 patch 8.1.2358: tests fail on Cirrus CI for FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 18277
diff changeset
72 func CheckNotBSD()
97d534e17874 patch 8.1.2358: tests fail on Cirrus CI for FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 18277
diff changeset
73 if has('bsd')
97d534e17874 patch 8.1.2358: tests fail on Cirrus CI for FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 18277
diff changeset
74 throw 'Skipped: does not work on BSD'
97d534e17874 patch 8.1.2358: tests fail on Cirrus CI for FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 18277
diff changeset
75 endif
97d534e17874 patch 8.1.2358: tests fail on Cirrus CI for FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 18277
diff changeset
76 endfunc
97d534e17874 patch 8.1.2358: tests fail on Cirrus CI for FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 18277
diff changeset
77
17614
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
78 " 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
79 " 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
80 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
81 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
82 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
83 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
84 endif
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
85 endfunc
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
86
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
87 " 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
88 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
89 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
90 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
91 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
92 endif
d7708560b77c patch 8.1.1804: no test for display updating without a scroll region
Bram Moolenaar <Bram@vim.org>
parents: 17557
diff changeset
93 endfunc
17657
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
94
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
95 " 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
96 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
97 func CheckCanRunGui()
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
98 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
99 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
100 endif
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
101 endfunc
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
102
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
103 " 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
104 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
105 func CheckGui()
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
106 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
107 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
108 endif
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
109 endfunc
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
110
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
111 " 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
112 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
113 func CheckNotGui()
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
114 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
115 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
116 endif
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17614
diff changeset
117 endfunc
18277
f6dcf7eabd26 patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents: 17668
diff changeset
118
f6dcf7eabd26 patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents: 17668
diff changeset
119 " 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
120 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
121 func CheckNotRoot()
f6dcf7eabd26 patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents: 17668
diff changeset
122 if IsRoot()
f6dcf7eabd26 patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents: 17668
diff changeset
123 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
124 endif
f6dcf7eabd26 patch 8.1.2133: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents: 17668
diff changeset
125 endfunc