Mercurial > vim
changeset 8142:71aabce3142e v7.4.1365
commit https://github.com/vim/vim/commit/befb366affa6309c6b4a469ec7f729821e3a36fa
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Feb 20 14:41:40 2016 +0100
patch 7.4.1365
Problem: Cannot execute a single test function.
Solution: Add an argument to filter the functions with. (Yasuhiro Matsumoto)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 20 Feb 2016 14:45:04 +0100 |
parents | 894b78ff8a1d |
children | 97690c954e3a |
files | src/testdir/runtest.vim src/version.c |
diffstat | 2 files changed, 12 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/testdir/runtest.vim +++ b/src/testdir/runtest.vim @@ -2,6 +2,11 @@ " When the script is successful the .res file will be created. " Errors are appended to the test.log file. " +" To execute only specific test functions, add a second argument. It will be +" matched against the names of the Test_ funtion. E.g.: +" ../vim -u NONE -S runtest.vim test_channel.vim open_delay +" The output can be found in the "messages" file. +" " The test script may contain anything, only functions that start with " "Test_" are special. These will be invoked and should contain assert " functions. See test_assert.vim for an example. @@ -94,6 +99,11 @@ silent function /^Test_ redir END let s:tests = split(substitute(@q, 'function \(\k*()\)', '\1', 'g')) +" If there is an extra argument filter the function names against it. +if argc() > 1 + let s:tests = filter(s:tests, 'v:val =~ argv(1)') +endif + " Execute the tests in alphabetical order. for s:test in sort(s:tests) echo 'Executing ' . s:test