4f648b6567
A Vader issue causes problems with the test results when using the location list. Because of this the tests were modified to run 1 test file per vim instance instead of running all tests in a single vim instance. This resulted in signficant slow down in test execution time. To speed up execution time only specific tests are run individually now. |
||
---|---|---|
.. | ||
independent_runs | ||
resources | ||
vader_includes | ||
link_creation.vader | ||
link_markdown_multiple_per_file.vader | ||
list_update.vader | ||
list_VimwikiReturn.vader | ||
Readme.md | ||
run_tests.sh | ||
tabnext_delay.vader | ||
vimrc |
Vimwiki Tests
This directory contains a test framework used to automatically test/verify Vimwiki functionality. It is based on the following tools:
Resources
- Vim patches
- Example test cases:
Building Docker Image
To build the Docker image run docker build -t vimwiki .
from the Vimwiki
repository root (same location as the Dockerfile).
Running Tests
Manual Steps
Starting in the test directory run this command:
docker run -it --rm -v $PWD/../:/testplugin -v $PWD/../test:/home vimwiki vim_7.4.1099 -u test/vimrc -i NONE
This will open a vim instance in the docker container and then all tests
can be run with :Vader test/*
or individual tests can be run.
Note: Substitute vim_7.4.1099
for any of the vim versions in the Dockerfile.
Automated Tests
The script in the test/
directory named run_test.sh
can be used to
automatically run all tests for all installed vim versions. The vim/nvim
versions are parsed from the Dockerfile. This script will also run Vint
for all
plugin source files. For more information run ./run_tests.sh -h
.
Known Issues
- neovim v0.2.x does not work correctly with Vader output from the docker
container. No test results are printed and an error message saying
Vim: Error reading input, exiting...
- Probably need to look into this more and determine if the issue is Vader, Neovim, or Docker.
- Vader does not play nice with the location list. Tests that use the location
list should be placed in
independent_runs/
.