py$(PYV): remove tox env folder $(@D)/.tox/py$(PYV) py$(PYV): commands[0]> python -X dev run-tests.py run ['run-tests.py'] pytest.main([]) ============================= test session starts ============================== platform sunos5 -- Python $(PYTHON_VERSION).X -- $(@D)/.tox/py$(PYV)/bin/python cachedir: .tox/py$(PYV)/.pytest_cache rootdir: $(@D) configfile: setup.cfg testpaths: README.rst, docs, graphviz, tests collecting ... collected 369 items README.rst::README.rst PASSED docs/api.rst::api.rst PASSED docs/attributes.rst::attributes.rst PASSED docs/basic_usage.rst::basic_usage.rst PASSED docs/custom_dot.rst::custom_dot.rst PASSED docs/engines.rst::engines.rst PASSED docs/escapes.rst::escapes.rst PASSED docs/existing_files.rst::existing_files.rst PASSED docs/formats.rst::formats.rst PASSED docs/integration_with_viewers.rst::integration_with_viewers.rst PASSED docs/neato_no_op.rst::neato_no_op.rst PASSED docs/node_ports.rst::node_ports.rst PASSED docs/piped_output.rst::piped_output.rst PASSED docs/quoting.rst::quoting.rst PASSED docs/raw_dot.rst::raw_dot.rst PASSED docs/styling.rst::styling.rst PASSED docs/subgraphs_and_clusters.rst::subgraphs_and_clusters.rst PASSED docs/unflatten.rst::unflatten.rst PASSED graphviz/__init__.py::graphviz PASSED graphviz/_tools.py::graphviz._tools.attach PASSED graphviz/_tools.py::graphviz._tools.mapping_items PASSED graphviz/backend/piping.py::graphviz.backend.piping.pipe PASSED graphviz/backend/piping.py::graphviz.backend.piping.pipe_lines PASSED graphviz/backend/piping.py::graphviz.backend.piping.pipe_lines_string PASSED graphviz/backend/piping.py::graphviz.backend.piping.pipe_string PASSED graphviz/backend/rendering.py::graphviz.backend.rendering.get_supported_formats PASSED graphviz/backend/rendering.py::graphviz.backend.rendering.get_supported_suffixes PASSED graphviz/backend/rendering.py::graphviz.backend.rendering.infer_format PASSED graphviz/backend/rendering.py::graphviz.backend.rendering.render PASSED graphviz/backend/upstream_version.py::graphviz.backend.upstream_version.version PASSED graphviz/graphs.py::graphviz.graphs PASSED graphviz/jupyter_integration.py::graphviz.jupyter_integration.JupyterIntegration._repr_mimebundle_ PASSED graphviz/piping.py::graphviz.piping.Pipe.pipe PASSED graphviz/quoting.py::graphviz.quoting.a_list PASSED graphviz/quoting.py::graphviz.quoting.attr_list PASSED graphviz/quoting.py::graphviz.quoting.escape PASSED graphviz/quoting.py::graphviz.quoting.nohtml PASSED graphviz/quoting.py::graphviz.quoting.quote PASSED graphviz/quoting.py::graphviz.quoting.quote_edge PASSED graphviz/rendering.py::graphviz.rendering.Render.render PASSED tests/backend/test_execute.py::test_missing_executable[pipe-args1] PASSED tests/backend/test_execute.py::test_missing_executable[render-args0] PASSED tests/backend/test_execute.py::test_missing_executable[unflatten-args2] PASSED tests/backend/test_execute.py::test_missing_executable[version-args3] PASSED tests/backend/test_execute.py::test_run_check_called_process_error_mocked[quiet=False] PASSED tests/backend/test_execute.py::test_run_check_called_process_error_mocked[quiet=True] PASSED tests/backend/test_execute.py::test_run_check_input_lines_mocked PASSED tests/backend/test_execute.py::test_run_check_oserror PASSED tests/backend/test_piping.py::test_pipe[dot-ps-ps-core-%!PS-] PASSED tests/backend/test_piping.py::test_pipe[dot-svg-None-None-(?s)^<\\?xml .+\\s*$] PASSED tests/backend/test_piping.py::test_pipe[sfdp-svg-None-None-(?s)^<\\?xml .+\\s*$] PASSED tests/backend/test_piping.py::test_pipe_invalid_data[quiet=False] PASSED tests/backend/test_piping.py::test_pipe_invalid_data[quiet=True] PASSED tests/backend/test_piping.py::test_pipe_lines_mocked[quiet=False] PASSED tests/backend/test_piping.py::test_pipe_lines_mocked[quiet=True] PASSED tests/backend/test_piping.py::test_pipe_lines_string_mocked[quiet=False] PASSED tests/backend/test_piping.py::test_pipe_lines_string_mocked[quiet=True] PASSED tests/backend/test_piping.py::test_pipe_mocked[quiet=False] PASSED tests/backend/test_piping.py::test_pipe_mocked[quiet=True] PASSED tests/backend/test_piping.py::test_pipe_pipe_invalid_data_mocked[quiet=False] PASSED tests/backend/test_piping.py::test_pipe_pipe_invalid_data_mocked[quiet=True] PASSED tests/backend/test_piping.py::test_pipe_string_mocked[quiet=False] PASSED tests/backend/test_piping.py::test_pipe_string_mocked[quiet=True] PASSED tests/backend/test_rendering.py::test_get_filepath[spam-spam.gv] PASSED tests/backend/test_rendering.py::test_get_filepath[spam.pdf-spam.gv] PASSED tests/backend/test_rendering.py::test_get_format[spam.SVG-None-svg] PASSED tests/backend/test_rendering.py::test_get_format[spam.gv.pdf-None-pdf] PASSED tests/backend/test_rendering.py::test_get_format[spam.jpeg-None-jpeg] PASSED tests/backend/test_rendering.py::test_get_format[spam.pdf-None-pdf] PASSED tests/backend/test_rendering.py::test_get_format[spam.pdf-pdf-pdf] PASSED tests/backend/test_rendering.py::test_get_format_raises[spam-RequiredArgumentError-cannot infer rendering format from suffix '' of outfile: 'spam'] PASSED tests/backend/test_rendering.py::test_get_format_raises[spam.peng-RequiredArgumentError-cannot infer rendering format from suffix '.peng' of outfile: 'spam.peng'] PASSED tests/backend/test_rendering.py::test_get_format_raises[spam.wav-RequiredArgumentError-cannot infer rendering format from suffix '.wav' of outfile: 'spam.wav'] PASSED tests/backend/test_rendering.py::test_get_format_warns[spam-pdf-pdf-UnknownSuffixWarning-unknown outfile suffix '' \\(expected: '\\.pdf'\\)] PASSED tests/backend/test_rendering.py::test_get_format_warns[spam-svg-svg-UnknownSuffixWarning-unknown outfile suffix '' \\(expected: '\\.svg'\\)] PASSED tests/backend/test_rendering.py::test_get_format_warns[spam.dot-plain-plain-FormatSuffixMismatchWarning-expected format 'dot' from outfile differs from given format: 'plain'] PASSED tests/backend/test_rendering.py::test_get_format_warns[spam.jpg-jpeg-jpeg-FormatSuffixMismatchWarning-expected format 'jpg' from outfile differs from given format: 'jpeg'] PASSED tests/backend/test_rendering.py::test_get_format_warns[spam.peng-png-png-UnknownSuffixWarning-unknown outfile suffix '.peng' \\(expected: '\\.png'\\)] PASSED tests/backend/test_rendering.py::test_get_outfile[spam.gv-kwargs0-spam.gv.pdf] PASSED tests/backend/test_rendering.py::test_get_outfile[spam.gv-kwargs1-spam.gv.dot.plain] PASSED tests/backend/test_rendering.py::test_render[dot-pdf-None-None-pdf] PASSED tests/backend/test_rendering.py::test_render[dot-plain-dot-core-core.dot.plain] PASSED tests/backend/test_rendering.py::test_render_img PASSED tests/backend/test_rendering.py::test_render_missing_file[quiet=False] PASSED tests/backend/test_rendering.py::test_render_missing_file[quiet=True] PASSED tests/backend/test_rendering.py::test_render_mocked[quiet=False-None] PASSED tests/backend/test_rendering.py::test_render_mocked[quiet=False-dot_sources] PASSED tests/backend/test_rendering.py::test_render_mocked[quiet=True-None] PASSED tests/backend/test_rendering.py::test_render_mocked[quiet=True-dot_sources] PASSED tests/backend/test_rendering.py::test_render_outfile_differnt_parent PASSED tests/backend/test_rendering.py::test_render_raises_mocked[args0-kwargs0-RequiredArgumentError-filepath: \\(required] PASSED tests/backend/test_rendering.py::test_render_raises_mocked[args1-kwargs1-RequiredArgumentError-filepath: \\(required] PASSED tests/backend/test_rendering.py::test_render_raises_mocked[args2-kwargs2-RequiredArgumentError-format: \\(required] PASSED tests/backend/test_rendering.py::test_render_raises_mocked[args3-kwargs3-RequiredArgumentError-filepath: \\(required] PASSED tests/backend/test_rendering.py::test_render_raises_mocked[args4-kwargs4-ValueError-outfile 'spam\\.gv' must be different from input file 'spam\\.gv'] PASSED tests/backend/test_rendering.py::test_render_raises_mocked[args5-kwargs5-ValueError-overwrite_filepath cannot be combined with raise_if_result_exists] PASSED tests/backend/test_rendering.py::test_render_raises_mocked[args6-kwargs6-FileExistsError-output file exists: 'spam.png'] PASSED tests/backend/test_rendering.py::test_render_unknown_parameter_raises[args0-ValueError-unknown engine] PASSED tests/backend/test_rendering.py::test_render_unknown_parameter_raises[args1-ValueError-unknown format] PASSED tests/backend/test_rendering.py::test_render_unknown_parameter_raises[args2-ValueError-unknown renderer] PASSED tests/backend/test_rendering.py::test_render_unknown_parameter_raises[args3-RequiredArgumentError-without renderer] PASSED tests/backend/test_rendering.py::test_render_unknown_parameter_raises[args4-ValueError-unknown formatter] PASSED tests/backend/test_unflattening.py::test_unflatten[digraph {1 -> 2; 1 -> 3; 1 -> 4}-kwargs0-digraph { 1 -> 2 [minlen=1]; 1 -> 3 [minlen=2]; 1 -> 4 [minlen=3]; }] PASSED tests/backend/test_unflattening.py::test_unflatten_mocked PASSED tests/backend/test_unflattening.py::test_unflatten_stagger_missing PASSED tests/backend/test_upstream_version.py::test_version PASSED tests/backend/test_upstream_version.py::test_version_mocked[dot - graphviz version 1.2.3 (mocked)-expected0] PASSED tests/backend/test_upstream_version.py::test_version_mocked[dot - graphviz version 2.43.20190912.0211 (20190912.0211)\n-expected1] PASSED tests/backend/test_upstream_version.py::test_version_mocked[dot - graphviz version 2.44.1 (mocked)\n-expected3] PASSED tests/backend/test_upstream_version.py::test_version_mocked[dot - graphviz version 2.44.2~dev.20200704.1652 (mocked)\n-expected4] PASSED tests/backend/test_upstream_version.py::test_version_mocked[dot - graphviz version 2.44.2~dev.20200927.0217 (20200927.0217)\n-expected2] PASSED tests/backend/test_upstream_version.py::test_version_parsefail_mocked PASSED tests/backend/test_viewing.py::test_view_mocked[platform='darwin'-quiet=False] PASSED tests/backend/test_viewing.py::test_view_mocked[platform='darwin'-quiet=True] PASSED tests/backend/test_viewing.py::test_view_mocked[platform='freebsd'-quiet=False] PASSED tests/backend/test_viewing.py::test_view_mocked[platform='freebsd'-quiet=True] PASSED tests/backend/test_viewing.py::test_view_mocked[platform='linux'-quiet=False] PASSED tests/backend/test_viewing.py::test_view_mocked[platform='linux'-quiet=True] PASSED tests/backend/test_viewing.py::test_view_mocked[platform='windows'-quiet=False] PASSED tests/backend/test_viewing.py::test_view_mocked[platform='windows'-quiet=True] PASSED tests/backend/test_viewing.py::test_view_unknown_platform PASSED tests/test_all_classes.py::test__view_mocked[platform='darwin'-Digraph] PASSED tests/test_all_classes.py::test__view_mocked[platform='darwin'-Graph] PASSED tests/test_all_classes.py::test__view_mocked[platform='darwin'-Source] PASSED tests/test_all_classes.py::test__view_mocked[platform='freebsd'-Digraph] PASSED tests/test_all_classes.py::test__view_mocked[platform='freebsd'-Graph] PASSED tests/test_all_classes.py::test__view_mocked[platform='freebsd'-Source] PASSED tests/test_all_classes.py::test__view_mocked[platform='linux'-Digraph] PASSED tests/test_all_classes.py::test__view_mocked[platform='linux'-Graph] PASSED tests/test_all_classes.py::test__view_mocked[platform='linux'-Source] PASSED tests/test_all_classes.py::test__view_mocked[platform='windows'-Digraph] PASSED tests/test_all_classes.py::test__view_mocked[platform='windows'-Graph] PASSED tests/test_all_classes.py::test__view_mocked[platform='windows'-Source] PASSED tests/test_all_classes.py::test__view_unknown_platform[Digraph] PASSED tests/test_all_classes.py::test__view_unknown_platform[Graph] PASSED tests/test_all_classes.py::test__view_unknown_platform[Source] PASSED tests/test_all_classes.py::test_copy[Digraph] PASSED tests/test_all_classes.py::test_copy[Graph] PASSED tests/test_all_classes.py::test_copy[Source] PASSED tests/test_all_classes.py::test_encoding_none[Digraph] PASSED tests/test_all_classes.py::test_encoding_none[Graph] PASSED tests/test_all_classes.py::test_encoding_none[Source] PASSED tests/test_all_classes.py::test_format_renderer_formatter_mocked[quiet=False-Digraph] PASSED tests/test_all_classes.py::test_format_renderer_formatter_mocked[quiet=False-Graph] PASSED tests/test_all_classes.py::test_format_renderer_formatter_mocked[quiet=False-Source] PASSED tests/test_all_classes.py::test_format_renderer_formatter_mocked[quiet=True-Digraph] PASSED tests/test_all_classes.py::test_format_renderer_formatter_mocked[quiet=True-Graph] PASSED tests/test_all_classes.py::test_format_renderer_formatter_mocked[quiet=True-Source] PASSED tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Digraph-encoding-LookupError-encoding] PASSED tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Digraph-engine-ValueError-unknown engine] PASSED tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Digraph-format-ValueError-unknown format] PASSED tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Digraph-formatter-ValueError-unknown formatter] PASSED tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Digraph-renderer-ValueError-unknown renderer] PASSED tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Graph-encoding-LookupError-encoding] PASSED tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Graph-engine-ValueError-unknown engine] PASSED tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Graph-format-ValueError-unknown format] PASSED tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Graph-formatter-ValueError-unknown formatter] PASSED tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Graph-renderer-ValueError-unknown renderer] PASSED tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Source-encoding-LookupError-encoding] PASSED tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Source-engine-ValueError-unknown engine] PASSED tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Source-format-ValueError-unknown format] PASSED tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Source-formatter-ValueError-unknown formatter] PASSED tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Source-renderer-ValueError-unknown renderer] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Digraph-0] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Digraph-1] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Digraph-2] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Digraph-False] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Digraph-None] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Digraph-True] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Graph-0] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Graph-1] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Graph-2] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Graph-False] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Graph-None] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Graph-True] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Source-0] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Source-1] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Source-2] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Source-False] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Source-None] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Source-True] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Digraph-0] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Digraph-1] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Digraph-2] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Digraph-False] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Digraph-None] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Digraph-True] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Graph-0] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Graph-1] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Graph-2] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Graph-False] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Graph-None] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Graph-True] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Source-0] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Source-1] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Source-2] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Source-False] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Source-None] PASSED tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Source-True] PASSED tests/test_all_classes.py::test_pipe[Digraph] PASSED tests/test_all_classes.py::test_pipe[Graph] PASSED tests/test_all_classes.py::test_pipe[Source] PASSED tests/test_all_classes.py::test_pipe_lines_called_process_error[Digraph] PASSED tests/test_all_classes.py::test_pipe_lines_called_process_error[Graph] PASSED tests/test_all_classes.py::test_pipe_lines_called_process_error[Source] PASSED tests/test_all_classes.py::test_pipe_lines_called_process_error_mocked[Digraph] PASSED tests/test_all_classes.py::test_pipe_lines_called_process_error_mocked[Graph] PASSED tests/test_all_classes.py::test_pipe_lines_called_process_error_mocked[Source] PASSED tests/test_all_classes.py::test_pipe_lines_mocked[Digraph] PASSED tests/test_all_classes.py::test_pipe_lines_mocked[Graph] PASSED tests/test_all_classes.py::test_pipe_lines_mocked[Source] PASSED tests/test_all_classes.py::test_pipe_mocked[quiet=False-Digraph-None] PASSED tests/test_all_classes.py::test_pipe_mocked[quiet=False-Digraph-ascii] PASSED tests/test_all_classes.py::test_pipe_mocked[quiet=False-Digraph-utf-8] PASSED tests/test_all_classes.py::test_pipe_mocked[quiet=False-Graph-None] PASSED tests/test_all_classes.py::test_pipe_mocked[quiet=False-Graph-ascii] PASSED tests/test_all_classes.py::test_pipe_mocked[quiet=False-Graph-utf-8] PASSED tests/test_all_classes.py::test_pipe_mocked[quiet=False-Source-None] PASSED tests/test_all_classes.py::test_pipe_mocked[quiet=False-Source-ascii] PASSED tests/test_all_classes.py::test_pipe_mocked[quiet=False-Source-utf-8] PASSED tests/test_all_classes.py::test_pipe_mocked[quiet=True-Digraph-None] PASSED tests/test_all_classes.py::test_pipe_mocked[quiet=True-Digraph-ascii] PASSED tests/test_all_classes.py::test_pipe_mocked[quiet=True-Digraph-utf-8] PASSED tests/test_all_classes.py::test_pipe_mocked[quiet=True-Graph-None] PASSED tests/test_all_classes.py::test_pipe_mocked[quiet=True-Graph-ascii] PASSED tests/test_all_classes.py::test_pipe_mocked[quiet=True-Graph-utf-8] PASSED tests/test_all_classes.py::test_pipe_mocked[quiet=True-Source-None] PASSED tests/test_all_classes.py::test_pipe_mocked[quiet=True-Source-ascii] PASSED tests/test_all_classes.py::test_pipe_mocked[quiet=True-Source-utf-8] PASSED tests/test_all_classes.py::test_render_mocked[Digraph] PASSED tests/test_all_classes.py::test_render_mocked[Graph] PASSED tests/test_all_classes.py::test_render_mocked[Source] PASSED tests/test_all_classes.py::test_render_outfile_mocked[Digraph] PASSED tests/test_all_classes.py::test_render_outfile_mocked[Graph] PASSED tests/test_all_classes.py::test_render_outfile_mocked[Source] PASSED tests/test_all_classes.py::test_render_raises_before_save[Digraph-kwargs0] PASSED tests/test_all_classes.py::test_render_raises_before_save[Graph-kwargs0] PASSED tests/test_all_classes.py::test_render_raises_before_save[Source-kwargs0] PASSED tests/test_all_classes.py::test_render_raises_before_save_mocked[Digraph-kwargs0] PASSED tests/test_all_classes.py::test_render_raises_before_save_mocked[Digraph-kwargs1] PASSED tests/test_all_classes.py::test_render_raises_before_save_mocked[Digraph-kwargs2] PASSED tests/test_all_classes.py::test_render_raises_before_save_mocked[Digraph-kwargs3] PASSED tests/test_all_classes.py::test_render_raises_before_save_mocked[Graph-kwargs0] PASSED tests/test_all_classes.py::test_render_raises_before_save_mocked[Graph-kwargs1] PASSED tests/test_all_classes.py::test_render_raises_before_save_mocked[Graph-kwargs2] PASSED tests/test_all_classes.py::test_render_raises_before_save_mocked[Graph-kwargs3] PASSED tests/test_all_classes.py::test_render_raises_before_save_mocked[Source-kwargs0] PASSED tests/test_all_classes.py::test_render_raises_before_save_mocked[Source-kwargs1] PASSED tests/test_all_classes.py::test_render_raises_before_save_mocked[Source-kwargs2] PASSED tests/test_all_classes.py::test_render_raises_before_save_mocked[Source-kwargs3] PASSED tests/test_all_classes.py::test_repr_mimebundle_image_jpeg_mocked[Digraph] PASSED tests/test_all_classes.py::test_repr_mimebundle_image_jpeg_mocked[Graph] PASSED tests/test_all_classes.py::test_repr_mimebundle_image_jpeg_mocked[Source] PASSED tests/test_all_classes.py::test_repr_mimebundle_image_png_mocked[Digraph] PASSED tests/test_all_classes.py::test_repr_mimebundle_image_png_mocked[Graph] PASSED tests/test_all_classes.py::test_repr_mimebundle_image_png_mocked[Source] PASSED tests/test_all_classes.py::test_repr_mimebundle_image_svg_xml_mocked[Digraph] PASSED tests/test_all_classes.py::test_repr_mimebundle_image_svg_xml_mocked[Graph] PASSED tests/test_all_classes.py::test_repr_mimebundle_image_svg_xml_mocked[Source] PASSED tests/test_all_classes.py::test_save_mocked[Digraph] PASSED tests/test_all_classes.py::test_save_mocked[Graph] PASSED tests/test_all_classes.py::test_save_mocked[Source] PASSED tests/test_all_classes.py::test_str[Digraph] PASSED tests/test_all_classes.py::test_str[Graph] PASSED tests/test_all_classes.py::test_str[Source] PASSED tests/test_all_classes.py::test_unflatten[Digraph] PASSED tests/test_all_classes.py::test_unflatten[Graph] PASSED tests/test_all_classes.py::test_unflatten[Source] PASSED tests/test_all_classes.py::test_unflatten_mocked[Digraph] PASSED tests/test_all_classes.py::test_unflatten_mocked[Graph] PASSED tests/test_all_classes.py::test_unflatten_mocked[Source] PASSED tests/test_all_classes.py::test_view_mocked[Digraph] PASSED tests/test_all_classes.py::test_view_mocked[Graph] PASSED tests/test_all_classes.py::test_view_mocked[Source] PASSED tests/test_graphs.py::test_attr_invalid_kw[Digraph] PASSED tests/test_graphs.py::test_attr_invalid_kw[Graph] PASSED tests/test_graphs.py::test_attr_kw_none[Digraph-...] PASSED tests/test_graphs.py::test_attr_kw_none[Graph-...] PASSED tests/test_graphs.py::test_clear[Digraph-False] PASSED tests/test_graphs.py::test_clear[Digraph-True] PASSED tests/test_graphs.py::test_clear[Graph-False] PASSED tests/test_graphs.py::test_clear[Graph-True] PASSED tests/test_graphs.py::test_escaped_quotes_and_escapes[Digraph-...] PASSED tests/test_graphs.py::test_escaped_quotes_and_escapes[Graph-...] PASSED tests/test_graphs.py::test_init_body[Digraph-...-...] PASSED tests/test_graphs.py::test_init_body[Graph-...-...] PASSED tests/test_graphs.py::test_init_filename[Digraph] PASSED tests/test_graphs.py::test_init_filename[Graph] PASSED tests/test_graphs.py::test_iter_strict[Digraph-...] PASSED tests/test_graphs.py::test_iter_strict[Graph-...] PASSED tests/test_graphs.py::test_iter_subgraph_strict[Digraph] PASSED tests/test_graphs.py::test_iter_subgraph_strict[Graph] PASSED tests/test_graphs.py::test_label_html PASSED tests/test_graphs.py::test_subgraph PASSED tests/test_graphs.py::test_subgraph_graph_none[Digraph-...] PASSED tests/test_graphs.py::test_subgraph_graph_none[Graph-...] PASSED tests/test_graphs.py::test_subgraph_graph_notsole[Digraph] PASSED tests/test_graphs.py::test_subgraph_graph_notsole[Graph] PASSED tests/test_graphs.py::test_subgraph_mixed[Digraph, Graph] PASSED tests/test_graphs.py::test_subgraph_mixed[Graph, Digraph] PASSED tests/test_graphs.py::test_subgraph_reflexive[Digraph-...] PASSED tests/test_graphs.py::test_subgraph_reflexive[Graph-...] PASSED tests/test_graphs.py::test_subgraph_render[Digraph-...] PASSED tests/test_graphs.py::test_subgraph_render[Graph-...] PASSED tests/test_init.py::test_set_default_engine PASSED tests/test_init.py::test_set_default_engine_invalid PASSED tests/test_init.py::test_set_default_format PASSED tests/test_init.py::test_set_default_format_invalid PASSED tests/test_init.py::test_set_jupyter_format PASSED tests/test_jupyter_integration.py::test_get_jupyter_format_mimetype_invalid_raises_unknown PASSED tests/test_jupyter_integration.py::test_get_jupyter_mimetype_format_normalizes PASSED tests/test_jupyter_integration.py::test_get_jupyter_mimetype_format_raises_unsupported PASSED tests/test_jupyter_integration.py::test_repr_image_svg_xml_encoding PASSED tests/test_jupyter_integration.py::test_repr_image_svg_xml_encoding_mocked[ascii] PASSED tests/test_jupyter_integration.py::test_repr_image_svg_xml_encoding_mocked[latin1] PASSED tests/test_jupyter_integration.py::test_repr_image_svg_xml_encoding_mocked[utf-8] PASSED tests/test_parameters.py::test_parameters[Digraph] PASSED tests/test_parameters.py::test_parameters[Graph] PASSED tests/test_parameters.py::test_parameters[Source] PASSED tests/test_parameters.py::test_verify_parameter_none_required_false_passes[verify_engine] PASSED tests/test_parameters.py::test_verify_parameter_none_required_false_passes[verify_format] PASSED tests/test_parameters.py::test_verify_parameter_none_required_false_passes[verify_formatter] PASSED tests/test_parameters.py::test_verify_parameter_none_required_false_passes[verify_renderer] PASSED tests/test_parameters.py::test_verify_parameter_none_required_raises_missing[verify_engine] PASSED tests/test_parameters.py::test_verify_parameter_none_required_raises_missing[verify_format] PASSED tests/test_parameters.py::test_verify_parameter_none_required_raises_missing[verify_formatter] PASSED tests/test_parameters.py::test_verify_parameter_none_required_raises_missing[verify_renderer] PASSED tests/test_parameters.py::test_verify_parameter_raises_unknown[verify_engine] PASSED tests/test_parameters.py::test_verify_parameter_raises_unknown[verify_format] PASSED tests/test_parameters.py::test_verify_parameter_raises_unknown[verify_formatter] PASSED tests/test_parameters.py::test_verify_parameter_raises_unknown[verify_renderer] PASSED tests/test_quoting.py::test_attr_list[attributes0- [spam=eggs]] PASSED tests/test_quoting.py::test_attr_list[attributes1- [spam=eggs]] PASSED tests/test_quoting.py::test_deprecated_escape[E] PASSED tests/test_quoting.py::test_deprecated_escape[G] PASSED tests/test_quoting.py::test_deprecated_escape[H] PASSED tests/test_quoting.py::test_deprecated_escape[L] PASSED tests/test_quoting.py::test_deprecated_escape[T] PASSED tests/test_quoting.py::test_deprecated_escape[l] PASSED tests/test_quoting.py::test_nohtml[<>-*-<>-<>-*-<>-"<>-*-<>"] PASSED tests/test_quoting.py::test_nohtml[spam-spam-spam] PASSED tests/test_quoting.py::test_quote["spam"-"\\"spam\\""] PASSED tests/test_quoting.py::test_quote[EDGE-"EDGE"] PASSED tests/test_quoting.py::test_quote[Graph-"Graph"] PASSED tests/test_quoting.py::test_quote[\\"spam-"\\"spam"] PASSED tests/test_quoting.py::test_quote[\\G \\N \\E \\T \\H \\L-"\\G \\N \\E \\T \\H \\L"] PASSED tests/test_quoting.py::test_quote[\\\\"spam-"\\\\\\"spam"] PASSED tests/test_quoting.py::test_quote[\\\\\\"spam-"\\\\\\"spam"] PASSED tests/test_quoting.py::test_quote[\\\\\\\\"spam-"\\\\\\\\\\"spam"] PASSED tests/test_quoting.py::test_quote[\\\\n-"\\\\n"] PASSED tests/test_quoting.py::test_quote[\\n \\l \\r-"\\n \\l \\r"] PASSED tests/test_quoting.py::test_quote[\r\n-"\r\n"] PASSED tests/test_quoting.py::test_quote[\u0665.\u0660-"\u0665.\u0660"] PASSED tests/test_quoting.py::test_quote[node-"node"] PASSED tests/test_saving.py::test_saves_source_from_file PASSED tests/test_sources.py::test_filepath PASSED tests/test_sources.py::test_from_file PASSED tests/test_sources.py::test_init PASSED tests/test_sources.py::test_init_filename PASSED tests/test_sources.py::test_source_iter PASSED tests/test_sources.py::test_source_parameter[encoding] PASSED tests/test_sources.py::test_source_parameter[engine] PASSED tests/test_sources.py::test_source_parameter[format] PASSED tests/test_tools.py::test_deprecate_positional_args[DeprecationWarning- third='third' ] PASSED tests/test_tools.py::test_deprecate_positional_args[FutureWarning- third='third' ] PASSED tests/test_tools.py::test_deprecate_positional_args[None-None] PASSED tests/test_tools.py::test_deprecate_positional_args[PendingDeprecationWarning- third='third' ] PASSED tests/test_tools.py::test_mkdirs PASSED tests/test_tools.py::test_mkdirs_invalid PASSED ============================= slowest 10 durations ============================= ======== 369 passed ======== py$(PYV): OK congratulations :)