Mercurial > vim
comparison src/testdir/runtest.vim @ 10100:26441931dad7 v7.4.2321
commit https://github.com/vim/vim/commit/dac1947bb366ef43cd6da95acc730554e76d8b84
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Sep 3 22:35:40 2016 +0200
patch 7.4.2321
Problem: When a test is commented out we forget about it.
Solution: Let a test throw an exception with "Skipped" and list skipped test
functions. (Christian Brabandt)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 03 Sep 2016 22:45:06 +0200 |
parents | 30be4b26a37e |
children | 2392e065efea |
comparison
equal
deleted
inserted
replaced
10099:79b8acf5996d | 10100:26441931dad7 |
---|---|
94 | 94 |
95 call add(s:messages, 'Executing ' . a:test) | 95 call add(s:messages, 'Executing ' . a:test) |
96 let s:done += 1 | 96 let s:done += 1 |
97 try | 97 try |
98 exe 'call ' . a:test | 98 exe 'call ' . a:test |
99 catch /^\cskipped/ | |
100 call add(s:messages, ' Skipped') | |
101 call add(s:skipped, 'SKIPPED ' . a:test . ': ' . substitute(v:exception, '^\S*\s\+', '', '')) | |
99 catch | 102 catch |
100 call add(v:errors, 'Caught exception in ' . a:test . ': ' . v:exception . ' @ ' . v:throwpoint) | 103 call add(v:errors, 'Caught exception in ' . a:test . ': ' . v:exception . ' @ ' . v:throwpoint) |
101 endtry | 104 endtry |
102 | 105 |
103 if exists("*TearDown") | 106 if exists("*TearDown") |
125 let g:testname = expand('%') | 128 let g:testname = expand('%') |
126 let s:done = 0 | 129 let s:done = 0 |
127 let s:fail = 0 | 130 let s:fail = 0 |
128 let s:errors = [] | 131 let s:errors = [] |
129 let s:messages = [] | 132 let s:messages = [] |
133 let s:skipped = [] | |
130 if expand('%') =~ 'test_viml.vim' | 134 if expand('%') =~ 'test_viml.vim' |
131 " this test has intentional s:errors, don't use try/catch. | 135 " this test has intentional s:errors, don't use try/catch. |
132 source % | 136 source % |
133 else | 137 else |
134 try | 138 try |
198 echo message | 202 echo message |
199 call add(s:messages, message) | 203 call add(s:messages, message) |
200 call extend(s:messages, s:errors) | 204 call extend(s:messages, s:errors) |
201 endif | 205 endif |
202 | 206 |
203 " Append messages to "messages" | 207 " Add SKIPPED messages |
208 call extend(s:messages, s:skipped) | |
209 | |
210 " Append messages to the file "messages" | |
204 split messages | 211 split messages |
205 call append(line('$'), '') | 212 call append(line('$'), '') |
206 call append(line('$'), 'From ' . g:testname . ':') | 213 call append(line('$'), 'From ' . g:testname . ':') |
207 call append(line('$'), s:messages) | 214 call append(line('$'), s:messages) |
208 write | 215 write |