Commit graph

837 commits

Author SHA1 Message Date
Tomas Janousek
1b439fee9e docs: Update test instructions 2020-07-08 21:36:52 -04:00
Tomas Janousek
14c0268438 tests: Upgrade vimrunner and drop the now unnecessary hacks
This makes the tests less brittle and potentially also faster.
2020-07-02 09:51:56 -04:00
Tomas Janousek
4efe2c83d6 tests: Refactor the self.tasks resetting hack 2020-07-02 09:51:56 -04:00
Tomas Janousek
7f47669e0c tests: Run tests in parallel using pytest-xdist 2020-07-02 09:51:56 -04:00
Tomas Janousek
2c22bb2645 tests: Drop sudo, language: python from .travis.yml
These shouldn't be necessary, drop it to speed things up.
2020-07-02 09:51:56 -04:00
Tomas Janousek
625c26d59f regexp: Fix empty viewport filters in markdown
In markdown, there's no ' =' after '|', so the '+' in the filter regex
doesn't match. Let's allow filter to be empty and distinguish between
viewports and presets using negative look-ahead.

This fixes the failing TestViewportsTaskGenerationEmptyFilter test.
2020-07-02 09:51:56 -04:00
Tomas Janousek
7663a58793 tests: Fix coverage reporting
Coverage reporting wasn't migrated into the docker container and
therefore did nothing at all.
2020-07-02 09:51:56 -04:00
Tomas Janousek
f0cc8b3ba8 tests: Move command from docker-compose.yml to Makefile
This is a preparation for adding additional commands to the test, like
postprocessing the coverage data, which needs to be processed in the
container (unless we somehow copy the data out of it; but then, we
already install coverage and coveralls inside it, so...).

Additionally, this makes it a bit easier to run the tests locally, which
is helpful when investigating errors. Just a tiny bit, though: it still
requires setting up a fake home with a reasonably minimal .vim and a
python environment with vimrunner.
2020-07-02 09:51:56 -04:00
Tomas Janousek
45d448bda6 tests: Invoke using docker-compose run instead of up
Doesn't leave stopped containers around and feels more like running
locally (terminal size and CTRL-C is passed to pytest).
2020-07-02 09:51:56 -04:00
Tomas Janousek
d7167d9a50 meta: Use tasklib from PyPI in requirements
Current git already dropped support for Python 2, so let's stick with
1.3 until we drop it as well. We don't need bleeding edge any more.
2020-07-02 09:51:56 -04:00
Tomas Janousek
ae924a2afc tests: Drop unnecessary markup_syntax from MockCache 2020-07-02 09:51:56 -04:00
Tomas Janousek
6dd4d81aec tests: Use "default" syntax instead of "mediawiki" (for consistency) 2020-07-02 09:51:56 -04:00
Tomas Janousek
698e2448f3 tests: Fix vimwiki loading errors
Not only can we stop ignoring the errors, this also fixes
TestInfoActionNotTriggeredByEnterOnLink which would otherwise cause vim
to complain about g:vimwiki_wikilocal_vars not being available.
2020-07-02 09:51:56 -04:00
Tomas Janousek
789d04f488 tests: Catch vim errors in read_buffer
Without this, TestInfoActionNotTriggeredByEnterOnLink would pass because
it asserts that the buffer is empty, which is what read_buffer returned
if vim was stuck showing an error message. With `PYTEST_FLAGS=-s`, it
would additionally log

    E449: Invalid expression received: Send expression failed.

but that's easy to miss.
2020-07-02 09:51:56 -04:00
Tomas Janousek
9457b509cf tests: Simplify MultiSyntaxIntegrationTest.test_execute
Remove duplicated code.
2020-07-02 09:51:56 -04:00
Tomas Janousek
4e40a969f0 tests: Quit vim more reliably
`TestSuppressedMapping` leaves vim in visual mode and
`vimrunner.Client.quit()` fails with "E481: No range allowed" resulting
in

    Vim: Caught deadly signal TERM
    Vim: Finished.

This is probably harmless as the `quit()` is followed by `pkill`, but
let's do it the right way anyway.
2020-07-02 09:51:56 -04:00
Tomas Janousek
78105f4aca tests: Fix setting vim up twice
Since 8d8fd2c20b, the first `setup`
invocation sets g:taskwiki_markup_syntax="None" which is then detected
in `check_sanity` and vim is restarted, this time with correct
g:taskwiki_markup_syntax. This is wasteful and weird, but makes a bit of
sense as a hack to make `MultiSyntaxIntegrationTest` work as the
test_syntax fixture is not available in `setup`.

To fix this:

 * make `teardown` idempotent
 * let `check_sanity` fail early if the client is not set up yet
 * disable `setup` in `MultiSyntaxIntegrationTest`
 * let the sanity check and restart logic handle the setup in
   `MultiSyntaxIntegrationTest` once `markup` is available
2020-07-02 09:51:56 -04:00
Tomas Janousek
5037e18937 regexp: Fix DeprecationWarning: invalid escape sequence 2020-07-02 09:51:56 -04:00
Tomas Janousek
3edeef5960 tests: Report details about failed assertions in tests.base 2020-07-02 09:51:56 -04:00
Tomas Janousek
1cb822455c tests: Drop some (hopefully) unnecessary sleeps
vimrunner.Server.remote_expr waits for the result so we don't need to
sleep, except perhaps if vim does something asynchronously?
Anyway, this doesn't seem to break any tests here, and is noticeably
faster.
2020-07-02 09:51:56 -04:00
Tomas Janousek
c8c3cc9a00 tests: Fix misquoted g:vimwiki_list setting
vimrunner.Client.command doesn't do any escaping so we can only use
double quotes. Otherwise it does this:

    self.server.remote_expr(["VimrunnerPyEvaluateCommandOutput('let g:vimwiki_list = [{'syntax': 'mediawiki', 'ext': '.txt','path': '/tmp/tmpl1hh2nnf'}]')"])
    E449: Invalid expression received: Send expression failed.
2020-07-02 09:51:56 -04:00
Tomas Janousek
6609c541eb tests: Fix typo varialbes → variables 2020-07-02 09:51:56 -04:00
Tomas Janousek
c2627a14ad tests: Fix PEP 8 warnings in base.py 2020-07-02 09:51:56 -04:00
Tomas Janousek
026d5833be tests: Fix read-only pytest cache directory
We're mounting taskwiki read-only (because the docker container runs as
root) so place the pytest cache elsewhere. This means re-running failed
test isn't possible now. If that is desired, we may run the container as
current user (may require libnss-unknown) instead, later.
2020-07-02 09:51:56 -04:00
Tomas Janousek
e044ebdd02 tests: Pass $PYTEST_FLAGS to pytest
This makes it easier to pass "-s" or "-k TestSomething" when running
"make test".
2020-07-02 09:51:56 -04:00
Tomas Janousek
47922faeee tests: Launch Xvfb with -noreset
An attempt to fix the sporadic "E233: cannot open display" that I'm
still seeing.
2020-07-02 09:51:56 -04:00
Tomas Janousek
c0285cceef tests: Move CMD from Dockerfile to docker-compose.yml
This makes it easier to change the command (e.g. to add `-s`) as we
don't need to tell docker-compose to rebuild the image and container.
2020-07-02 09:51:56 -04:00
Tomas Janousek
09b6617791 tests: Fix E233: cannot open display
Apparently xvfb-run can only be run a few times in a long-lived
container. :-/
2020-07-02 09:51:56 -04:00
Tomas Janousek
21889a2be2 tests: Include xvfb into the Docker image 2020-07-02 09:51:56 -04:00
Tomas Janousek
24c2a8266b Revert "check for python version 3.7 and 3.8 as well"
This reverts commit 7b823ace5b.

Python in Travis is only used to merge the coverage results (in fact,
not even that, as those results never get out of the docker image), it
doesn't affect the tests in any way.
2020-07-02 09:51:56 -04:00
djugei
8c4da3a744 fixed another is not 2019-12-01 15:11:43 -05:00
beuerle
4620771837 fix python 3.8 error about "is not" with literal 2019-11-28 12:27:18 -05:00
beuerle
7b823ace5b check for python version 3.7 and 3.8 as well 2019-11-16 22:55:37 -05:00
beuerle
10278639f9 fix python 3.8 error about "is not" with literal
After updating python to 3.8 the following error pops up when entering
vimwiki:

```
"~/vimwiki/README.md" 63L, 1510C
Error detected while processing ~/dotfiles/vim/bundle/taskwiki/ftplugin/vimwiki/taskwiki.vim:
line   33:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "~/dotfiles/vim/bundle/taskwiki/taskwiki/main.py", line 640, in <module>
    WholeBuffer.update_from_tw()
  File "~/dotfiles/vim/bundle/taskwiki/taskwiki/errors.py", line 26, in wrapped_function
    original_function(*args, **kwargs)
  File "~/dotfiles/vim/bundle/taskwiki/taskwiki/decorators.py", line 9, in wrapped_function
    vim.command('let save_pos = getpos(".")')
vim.error: Vim:~/dotfiles/vim/bundle/taskwiki/taskwiki/short.py:41: SyntaxWarning: "is not" with a literal. Did you mean "!="?
```

Changing from `is not` to `!=` solves this issue.
2019-11-16 22:55:37 -05:00
mrossinek
719ab0d59a Add tags to .gitignore
Ignores helptags file generated by vim in the docs directory as well as
a potential ctags file in the project root.
2019-11-16 22:54:12 -05:00
Abhinav Gupta
08480810ec Document taskwiki_markup_syntax
This documents the taskwiki_markup_syntax setting added in #192.

Ref: https://github.com/tbabej/taskwiki/issues/165#issuecomment-432211801
2019-07-14 21:52:21 -04:00
Tomas Babej
056d9e82f5
LICENCE: Update copyright years 2019-03-26 11:18:20 -04:00
Florian Heiderich
37f6201ef1 replace deprecated base64.decodestring
by base64.decodebytes
2019-03-18 17:00:21 -04:00
Florian Heiderich
a2723a0136 replace deprecated base64.encodestring
by base64.encodebytes
2019-03-18 17:00:21 -04:00
Florian Heiderich
1f291caa6c add "taskwiki" as argument for :helptags 2019-03-01 11:50:02 -05:00
mrossinek
97bfa1315c
Add unit tests to test fix of #182 (allow colon remap) 2019-02-24 12:08:54 -05:00
mrossinek
504aefadef
Add unit tests for default, suppressed and custom mappings 2019-02-24 12:08:52 -05:00
mrossinek
c5310126fa
Change mappings to disallow remaps (fixes #182) 2019-02-24 12:02:13 -05:00
mrossinek
879853becc
Add maplocalleader option 2019-02-24 12:02:12 -05:00
mrossinek
e82813e03b
Add mapping-suppressing option 2019-02-24 12:01:54 -05:00
Tomas Babej
b9db0fcfd3
travis: Change X11 permissions 2019-02-22 21:50:28 -05:00
Tomas Babej
6f62e750cb
tests: Add access to the host X11 socket 2019-02-22 21:00:44 -05:00
Tomas Babej
e049f45ae9
Makefile: Propagate the error codes 2019-02-22 20:59:44 -05:00
Marco Hinz
eaffcbd718 Nvim doesn't imply Python support
`has('python')` and `has('python3')` work the same in Vim and Neovim, so there's
no need for that extra check. That check is even wrong, since Nvim's `:python`
and friends won't work either as long as the Python provider isn't installed as
well.
2019-01-12 00:03:41 -05:00
Bodo Graumann
f4f1fe2b2e Add documentation for list bullet symbol
Add a note in the documentation about how we only consider the asterisk
check lists.

Fixes tbabej#197.
2019-01-01 15:51:34 -05:00