summaryrefslogtreecommitdiff
path: root/tests/test_import_graph.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_import_graph.py')
-rw-r--r--tests/test_import_graph.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/tests/test_import_graph.py b/tests/test_import_graph.py
index 14e5f387a..b918d3b29 100644
--- a/tests/test_import_graph.py
+++ b/tests/test_import_graph.py
@@ -26,8 +26,8 @@ from pylint.lint import PyLinter
@pytest.fixture
-def dest():
- dest = "dependencies_graph.dot"
+def dest(request):
+ dest = request.param
yield dest
try:
os.remove(dest)
@@ -36,13 +36,18 @@ def dest():
pass
+POSSIBLE_DOT_FILENAMES = ["foo.dot", "foo.gv", "tests/regrtest_data/foo.dot"]
+
+
+@pytest.mark.parametrize("dest", POSSIBLE_DOT_FILENAMES, indirect=True)
def test_dependencies_graph(dest):
+ """DOC files are correctly generated, and the graphname is the basename"""
imports._dependencies_graph(dest, {"labas": ["hoho", "yep"], "hoho": ["yep"]})
with open(dest) as stream:
assert (
stream.read().strip()
== """
-digraph "dependencies_graph" {
+digraph "foo" {
rankdir=LR
charset="utf-8"
URL="." node[shape="box"]
@@ -57,6 +62,13 @@ URL="." node[shape="box"]
)
+@pytest.mark.parametrize("filename", ["graph.png", "graph"])
+def test_missing_graphviz(filename):
+ """Raises if graphviz is not installed, and defaults to png if no extension given"""
+ with pytest.raises(RuntimeError, match=r"Cannot generate `graph\.png`.*"):
+ imports._dependencies_graph(filename, {"a": ["b", "c"], "b": ["c"]})
+
+
@pytest.fixture
def linter():
pylinter = PyLinter(reporter=testutils.GenericTestReporter())