summaryrefslogtreecommitdiffstats
path: root/src/testdir/README.txt
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-01-07 22:01:01 +0100
committerBram Moolenaar <Bram@vim.org>2016-01-07 22:01:01 +0100
commit6602af7fe069246dbcf419c3e904a78b60e7d4dc (patch)
tree4875be86e585bb69d3eaae811cdaf5159c4763e2 /src/testdir/README.txt
parentfd39d08fb6f61bc6c1366de8a7af19a42dc1b377 (diff)
patch 7.4.1060v7.4.1060
Problem: Instructions for writing tests are outdated. Solution: Mention Make_all.mak. Add steps for new style tests.
Diffstat (limited to 'src/testdir/README.txt')
-rw-r--r--src/testdir/README.txt45
1 files changed, 33 insertions, 12 deletions
diff --git a/src/testdir/README.txt b/src/testdir/README.txt
index eb79d087c5..7cbc77133e 100644
--- 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.
-To add a new test:
+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 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.
+
+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 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/.
+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.
-A line break is like pressing Enter. If that happens on the last line you'll
-hear a beep.
+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!