diff --git a/install-deps.sh b/install-deps.sh index 0cea15c..8ebf4b2 100755 --- a/install-deps.sh +++ b/install-deps.sh @@ -1,8 +1,9 @@ #!/bin/sh echo "The shell is $SHELL" set -e -pip install --use-mirrors --editable . -pip install --use-mirrors -r requirements.txt +PIP_INSTALL="pip install --use-mirrors --upgrade" +$PIP_INSTALL --editable . +$PIP_INSTALL -r requirements.txt [ -n "$DAV_SERVER" ] || DAV_SERVER=radicale_filesystem davserver_radicale_filesystem() { @@ -11,7 +12,7 @@ davserver_radicale_filesystem() { davserver_radicale_database() { radicale_deps - pip install --use-mirrors sqlalchemy pysqlite + $PIP_INSTALL sqlalchemy pysqlite } radicale_deps() { @@ -22,7 +23,7 @@ radicale_deps() { else false fi - pip install --use-mirrors werkzeug $radicale_pkg + $PIP_INSTALL werkzeug $radicale_pkg } davserver_owncloud() { diff --git a/tests/storage/dav/__init__.py b/tests/storage/dav/__init__.py index a7bbd43..b3e8c45 100644 --- a/tests/storage/dav/__init__.py +++ b/tests/storage/dav/__init__.py @@ -9,6 +9,7 @@ ''' import os +import pytest from .. import StorageTests import vdirsyncer.exceptions as exceptions @@ -24,6 +25,18 @@ elif dav_server == 'owncloud': else: raise RuntimeError('{} is not a known DAV server.'.format(dav_server)) +try: + import radicale + radicale_version = radicale.VERSION + del radicale +except ImportError: + radicale_version = None + + +pytestmark = pytest.mark.xfail( + dav_server == 'radicale_database' and radicale_version == '0.8', + reason='Database storage of Radicale 0.8 is broken.') + class DavStorageTests(ServerMixin, StorageTests): def test_dav_broken_item(self): diff --git a/tests/storage/dav/conftest.py b/tests/storage/dav/conftest.py index 3dead48..c269c5d 100644 --- a/tests/storage/dav/conftest.py +++ b/tests/storage/dav/conftest.py @@ -11,7 +11,9 @@ import os import pytest dav_server = os.environ.get('DAV_SERVER', '').strip() or 'radicale_filesystem' -php_sh = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../../owncloud-testserver/php.sh')) +php_sh = os.path.abspath(os.path.join( + os.path.dirname(__file__), '../../../owncloud-testserver/php.sh' +)) if dav_server == 'owncloud': @pytest.fixture(autouse=True) diff --git a/tests/storage/dav/test_caldav.py b/tests/storage/dav/test_caldav.py index 757981e..225ecde 100644 --- a/tests/storage/dav/test_caldav.py +++ b/tests/storage/dav/test_caldav.py @@ -12,7 +12,7 @@ import requests.exceptions from vdirsyncer.storage.dav.caldav import CaldavStorage import vdirsyncer.exceptions as exceptions -from . import DavStorageTests +from . import DavStorageTests, pytestmark TASK_TEMPLATE = u'''BEGIN:VCALENDAR diff --git a/tests/storage/dav/test_carddav.py b/tests/storage/dav/test_carddav.py index 7c8ae34..85bf63d 100644 --- a/tests/storage/dav/test_carddav.py +++ b/tests/storage/dav/test_carddav.py @@ -9,7 +9,7 @@ ''' from vdirsyncer.storage.dav.carddav import CarddavStorage -from . import DavStorageTests +from . import DavStorageTests, pytestmark VCARD_TEMPLATE = u'''BEGIN:VCARD