The fix that disabled VTODO tests accidentally ran all other tests twice
for this storage.
This wasn't picked up earlier since Fastmail is not currently running on
CI.
Add asyncio to the storage backends and most of the codebase. A lot of
it merely uses asyncio APIs, but still doesn't actually run several
things concurrently internally. Further improvements will be added on
top of these changes
Thanks to Thomas Grainger (@graingert) for a few useful pointers
related to asyncio.
These submodules were used to bootstrap local test servers for running
integration tests.
We'll be reusing that codebase inside docker containers, but don't want
the containers built for each push to this repo -- that'll happen in a
separate repository.
I don't want to ever have to sort imports again. It's a poor use of
developer time. Automate this with a pre-commit hook, and check this on
CI.
Developers: I suggest you configure your editor to use
`reorder_python_imports`. It uses the standard sorting, and detects
first/third party libs well.
The main advantage here is that its dependencies are TOTALLY separate
from vdirsyncer's, keeping the runtime environment for vdirsyncer
cleaner.
It also makes testing locally not only possible, but fast and pleasant.
* Revert "Don't test development Radicale"
This reverts commit 7a5241101e.
* Fix Radicale test setup
* Radicale is very tolerant
* Simplify test such that output is more predictable
* Runtime version check for Radicale
* Don't create user explicitly
* stylefix
* Shorter tracebacks
Travis logs are very hard to read
* Add xandikos to CI
* wip
* Work around missing dependency spec
* Add xandikos to travis
* Remove auth
* Test release and devel
* Refactor xandikos setup
* Fix syntax error
* Only test xandikos-git
* Add section to supported.rst
* changelog
nextCloud now returns no etag on upload, which is why we're forced to
adapt the tests accordingly. So now we need to specify a fixed value for
"no etag returned" such that the tests can act accordingly. We also need
to test that the sync algorithm works properly with None.