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
--- a/src/version.c
+++ b/src/version.c
@@ -748,6 +748,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1365,
+/**/
     1364,
 /**/
     1363,