Mercurial > vim
changeset 7517:9d67399f49c6 v7.4.1060
commit https://github.com/vim/vim/commit/6602af7fe069246dbcf419c3e904a78b60e7d4dc
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Jan 7 22:01:01 2016 +0100
patch 7.4.1060
Problem: Instructions for writing tests are outdated.
Solution: Mention Make_all.mak. Add steps for new style tests.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 07 Jan 2016 22:15:05 +0100 |
parents | 391d31ceb300 |
children | 51ca06f02b9d |
files | src/testdir/README.txt src/version.c |
diffstat | 2 files changed, 36 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/src/testdir/README.txt +++ b/src/testdir/README.txt @@ -1,20 +1,41 @@ This directory contains tests for various Vim features. -If it makes sense, try to add a new test to an already existing file. You may -want to separate it from other tests in that file using :" (that's an Ex -command comment). +If it makes sense, add a new test method to an already existing file. You may +want to separate it from other tests with comment lines. The numbered tests are older, we have switched to named tests. -And the newest way of testing is to use assert functions, see test_assert.vim -for an example. + +And then you can chose between a new style test, which is a Vim script, or an +old style test, which uses Normal mode commands. Use a new style test if you +can. + -To add a new test: -1) Create test_<subject>.in and test_<subject>.ok files. -2) Add them to all Makefiles (Make*) in alphabetical order (search for an - existing test_file.out to see where to add the new one). -3) Use make test_<subject>.out to run a single test file in src/testdir/. +TO ADD A NEW STYLE TEST: + +1) Create a test_<subject>.vim file. +2) Add test_<subject>.vim to NEW_TESTS in Make_all.mak in alphabetical order. +3) Use make test_<subject>.res to run a single test in src/testdir/. + Use make test_<subject> to run a single test in src/. 4) Also add an entry in src/Makefile. -Keep in mind that the files are used as if everything was typed. -A line break is like pressing Enter. If that happens on the last line you'll -hear a beep. +What you can use (see test_assert.vim for an example): +- Call assert_equal(), assert_true() and assert_false(). +- Use try/catch to check for exceptions. +- Use alloc_fail() to have memory allocation fail. This makes it possible to + to check memory allocation failures are handled gracefully. You need to + change the source code to add an ID to the allocation. Update LAST_ID_USED + above alloc_id() to the highest ID used. + + +TO ADD AN OLD STYLE TEST: + +1) Create test_<subject>.in and test_<subject>.ok files. +2) Add test_<subject>.out to SCRIPTS_ALL in Make_all.mak in alphabetical order. +3) Use make test_<subject>.out to run a single test in src/testdir/. + Use make test_<subject> to run a single test in src/. +4) Also add an entry in src/Makefile. + +Keep in mind that the files are used as if everything was typed: +- To add comments use: :" (that's an Ex command comment) +- A line break is like pressing Enter. If that happens on the last line + you'll hear a beep!