You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bazarr/libs/mako/testing/exclusions.py

81 lines
1.5 KiB

import pytest
from mako.ext.beaker_cache import has_beaker
from mako.util import update_wrapper
try:
import babel.messages.extract as babel
except ImportError:
babel = None
try:
import lingua
except ImportError:
lingua = None
try:
import dogpile.cache # noqa
except ImportError:
has_dogpile_cache = False
else:
has_dogpile_cache = True
requires_beaker = pytest.mark.skipif(
not has_beaker, reason="Beaker is required for these tests."
)
requires_babel = pytest.mark.skipif(
babel is None, reason="babel not installed: skipping babelplugin test"
)
requires_lingua = pytest.mark.skipif(
lingua is None, reason="lingua not installed: skipping linguaplugin test"
)
requires_dogpile_cache = pytest.mark.skipif(
not has_dogpile_cache,
reason="dogpile.cache is required to run these tests",
)
def _pygments_version():
try:
import pygments
version = pygments.__version__
except:
version = "0"
return version
requires_pygments_14 = pytest.mark.skipif(
_pygments_version() < "1.4", reason="Requires pygments 1.4 or greater"
)
# def requires_pygments_14(fn):
# return skip_if(
# lambda: version < "1.4", "Requires pygments 1.4 or greater"
# )(fn)
def requires_no_pygments_exceptions(fn):
def go(*arg, **kw):
from mako import exceptions
exceptions._install_fallback()
try:
return fn(*arg, **kw)
finally:
exceptions._install_highlighting()
return update_wrapper(go, fn)