diff --git a/pygal/test/__init__.py b/pygal/test/__init__.py
index da94e4a..717464d 100644
--- a/pygal/test/__init__.py
+++ b/pygal/test/__init__.py
@@ -33,18 +33,6 @@ def get_data(i):
[(3, 2), (2, 1), (1, 1)]][i]
-def pytest_generate_tests(metafunc):
- if "Chart" in metafunc.funcargnames:
- metafunc.parametrize("Chart", pygal.CHARTS)
- if "datas" in metafunc.funcargnames:
- metafunc.parametrize(
- "datas",
- [
- [("Serie %d" % i, get_data(i)) for i in range(s)]
- for s in (5, 1, 0)
- ])
-
-
def adapt(chart, data):
if isinstance(chart, pygal.DateY):
# Convert to a credible datetime
diff --git a/pygal/test/conftest.py b/pygal/test/conftest.py
new file mode 100644
index 0000000..b73dab5
--- /dev/null
+++ b/pygal/test/conftest.py
@@ -0,0 +1,47 @@
+# -*- coding: utf-8 -*-
+# This file is part of pygal
+#
+# A python svg graph plotting library
+# Copyright © 2012-2014 Kozea
+#
+# This library is free software: you can redistribute it and/or modify it under
+# the terms of the GNU Lesser General Public License as published by the Free
+# Software Foundation, either version 3 of the License, or (at your option) any
+# later version.
+#
+# This library is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+# details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with pygal. If not, see .
+
+import pytest
+import pygal
+from pygal.etree import etree
+from . import get_data
+
+
+@pytest.fixture
+def etreefx(request):
+ if request.param == 'etree':
+ etree.to_etree()
+ if request.param == 'lxml':
+ etree.to_lxml()
+
+
+def pytest_generate_tests(metafunc):
+ if etree._lxml_etree:
+ metafunc.fixturenames.append('etreefx')
+ metafunc.parametrize('etreefx', ['lxml', 'etree'], indirect=True)
+
+ if "Chart" in metafunc.funcargnames:
+ metafunc.parametrize("Chart", pygal.CHARTS)
+ if "datas" in metafunc.funcargnames:
+ metafunc.parametrize(
+ "datas",
+ [
+ [("Serie %d" % i, get_data(i)) for i in range(s)]
+ for s in (5, 1, 0)
+ ])
diff --git a/pygal/test/test_config.py b/pygal/test/test_config.py
index 00b4285..ed71224 100644
--- a/pygal/test/test_config.py
+++ b/pygal/test/test_config.py
@@ -24,7 +24,6 @@ from pygal import (
FrenchMap_Regions, FrenchMap_Departments)
from pygal._compat import u
from pygal.test.utils import texts
-from pygal.test import pytest_generate_tests
from tempfile import NamedTemporaryFile
diff --git a/pygal/test/test_graph.py b/pygal/test/test_graph.py
index cdc5ad3..f326f03 100644
--- a/pygal/test/test_graph.py
+++ b/pygal/test/test_graph.py
@@ -26,7 +26,7 @@ from pygal import i18n
from pygal.graph.frenchmap import DEPARTMENTS, REGIONS
from pygal.util import cut
from pygal._compat import u
-from pygal.test import pytest_generate_tests, make_data
+from pygal.test import make_data
try:
import cairosvg
diff --git a/pygal/test/test_interpolate.py b/pygal/test/test_interpolate.py
index 54b5ac1..b631512 100644
--- a/pygal/test/test_interpolate.py
+++ b/pygal/test/test_interpolate.py
@@ -17,7 +17,7 @@
# You should have received a copy of the GNU Lesser General Public License
# along with pygal. If not, see .
-from pygal.test import pytest_generate_tests, make_data
+from pygal.test import make_data
def test_cubic(Chart, datas):
diff --git a/pygal/test/test_serie_config.py b/pygal/test/test_serie_config.py
index f2f0969..ad65204 100644
--- a/pygal/test/test_serie_config.py
+++ b/pygal/test/test_serie_config.py
@@ -17,7 +17,6 @@
# You should have received a copy of the GNU Lesser General Public License
# along with pygal. If not, see .
-from pygal.test import pytest_generate_tests
from pygal import Line
diff --git a/pygal/test/test_view.py b/pygal/test/test_view.py
index bf49e59..7499b51 100644
--- a/pygal/test/test_view.py
+++ b/pygal/test/test_view.py
@@ -17,7 +17,7 @@
# You should have received a copy of the GNU Lesser General Public License
# along with pygal. If not, see .
-from pygal.test import pytest_generate_tests, make_data
+from pygal.test import make_data
def test_all_logarithmic(Chart):
diff --git a/tox.ini b/tox.ini
index 665bc2f..7e76b0d 100644
--- a/tox.ini
+++ b/tox.ini
@@ -6,6 +6,7 @@ sitepackages=True
deps =
pytest
pytest-cov
+ lxml
pyquery
cairosvg