Source: python-graphviz Version: 0.20.1-2 Severity: serious Justification: FTBFS Tags: trixie sid ftbfs User: lu...@debian.org Usertags: ftbfs-20231212 ftbfs-trixie
Hi, During a rebuild of all packages in sid, your package failed to build on amd64. Relevant part (hopefully): > debian/rules build > dh build --with python3 --buildsystem=pybuild > dh_update_autotools_config -O--buildsystem=pybuild > dh_autoreconf -O--buildsystem=pybuild > dh_auto_configure -O--buildsystem=pybuild > I: pybuild base:310: python3.12 setup.py config > /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: > _DeprecatedConfig: Deprecated config in `setup.cfg` > !! > > > ******************************************************************************** > The license_file parameter is deprecated, use license_files instead. > > This deprecation is overdue, please update your project and remove > deprecated > calls to avoid build errors in the future. > > See > https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for > details. > > ******************************************************************************** > > !! > parsed = self.parsers.get(option_name, lambda x: x)(value) > running config > I: pybuild base:310: python3.11 setup.py config > /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: > _DeprecatedConfig: Deprecated config in `setup.cfg` > !! > > > ******************************************************************************** > The license_file parameter is deprecated, use license_files instead. > > This deprecation is overdue, please update your project and remove > deprecated > calls to avoid build errors in the future. > > See > https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for > details. > > ******************************************************************************** > > !! > parsed = self.parsers.get(option_name, lambda x: x)(value) > running config > dh_auto_build -O--buildsystem=pybuild > I: pybuild base:310: /usr/bin/python3.12 setup.py build > /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: > _DeprecatedConfig: Deprecated config in `setup.cfg` > !! > > > ******************************************************************************** > The license_file parameter is deprecated, use license_files instead. > > This deprecation is overdue, please update your project and remove > deprecated > calls to avoid build errors in the future. > > See > https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for > details. > > ******************************************************************************** > > !! > parsed = self.parsers.get(option_name, lambda x: x)(value) > running build > running build_py > creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz > copying graphviz/piping.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz > copying graphviz/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz > copying graphviz/quoting.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz > copying graphviz/_tools.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz > copying graphviz/exceptions.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz > copying graphviz/sources.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz > copying graphviz/copying.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz > copying graphviz/base.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz > copying graphviz/dot.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz > copying graphviz/saving.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz > copying graphviz/_compat.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz > copying graphviz/jupyter_integration.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz > copying graphviz/_defaults.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz > copying graphviz/encoding.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz > copying graphviz/rendering.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz > copying graphviz/unflattening.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz > copying graphviz/graphs.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz > creating > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz/backend > copying graphviz/backend/piping.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz/backend > copying graphviz/backend/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz/backend > copying graphviz/backend/dot_command.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz/backend > copying graphviz/backend/execute.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz/backend > copying graphviz/backend/upstream_version.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz/backend > copying graphviz/backend/viewing.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz/backend > copying graphviz/backend/mixins.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz/backend > copying graphviz/backend/rendering.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz/backend > copying graphviz/backend/unflattening.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz/backend > creating > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz/parameters > copying graphviz/parameters/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz/parameters > copying graphviz/parameters/formats.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz/parameters > copying graphviz/parameters/engines.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz/parameters > copying graphviz/parameters/base.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz/parameters > copying graphviz/parameters/mixins.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz/parameters > copying graphviz/parameters/renderers.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz/parameters > copying graphviz/parameters/formatters.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build/graphviz/parameters > I: pybuild base:310: /usr/bin/python3 setup.py build > /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: > _DeprecatedConfig: Deprecated config in `setup.cfg` > !! > > > ******************************************************************************** > The license_file parameter is deprecated, use license_files instead. > > This deprecation is overdue, please update your project and remove > deprecated > calls to avoid build errors in the future. > > See > https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for > details. > > ******************************************************************************** > > !! > parsed = self.parsers.get(option_name, lambda x: x)(value) > running build > running build_py > creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz > copying graphviz/piping.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz > copying graphviz/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz > copying graphviz/quoting.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz > copying graphviz/_tools.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz > copying graphviz/exceptions.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz > copying graphviz/sources.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz > copying graphviz/copying.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz > copying graphviz/base.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz > copying graphviz/dot.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz > copying graphviz/saving.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz > copying graphviz/_compat.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz > copying graphviz/jupyter_integration.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz > copying graphviz/_defaults.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz > copying graphviz/encoding.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz > copying graphviz/rendering.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz > copying graphviz/unflattening.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz > copying graphviz/graphs.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz > creating > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz/backend > copying graphviz/backend/piping.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz/backend > copying graphviz/backend/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz/backend > copying graphviz/backend/dot_command.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz/backend > copying graphviz/backend/execute.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz/backend > copying graphviz/backend/upstream_version.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz/backend > copying graphviz/backend/viewing.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz/backend > copying graphviz/backend/mixins.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz/backend > copying graphviz/backend/rendering.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz/backend > copying graphviz/backend/unflattening.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz/backend > creating > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz/parameters > copying graphviz/parameters/__init__.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz/parameters > copying graphviz/parameters/formats.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz/parameters > copying graphviz/parameters/engines.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz/parameters > copying graphviz/parameters/base.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz/parameters > copying graphviz/parameters/mixins.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz/parameters > copying graphviz/parameters/renderers.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz/parameters > copying graphviz/parameters/formatters.py -> > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build/graphviz/parameters > dh_auto_test -O--buildsystem=pybuild > I: pybuild base:310: cd > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build; python3.12 -m pytest > -k 'not test_pipe_pipe_invalid_data_mocked' > ============================= test session starts > ============================== > platform linux -- Python 3.12.1, pytest-7.4.3, pluggy-1.3.0 > rootdir: /<<PKGBUILDDIR>> > configfile: setup.cfg > plugins: cov-4.1.0, doctestplus-1.0.0, mock-3.12.0 > collected 348 items / 2 deselected / 346 selected > > graphviz/__init__.py::graphviz PASSED [ > 0%] > graphviz/_tools.py::graphviz._tools.attach PASSED [ > 0%] > graphviz/_tools.py::graphviz._tools.mapping_items PASSED [ > 0%] > graphviz/graphs.py::graphviz.graphs PASSED [ > 1%] > graphviz/jupyter_integration.py::graphviz.jupyter_integration.JupyterIntegration._repr_mimebundle_ > PASSED [ 1%] > graphviz/piping.py::graphviz.piping.Pipe.pipe PASSED [ > 1%] > graphviz/quoting.py::graphviz.quoting.a_list PASSED [ > 2%] > graphviz/quoting.py::graphviz.quoting.attr_list PASSED [ > 2%] > graphviz/quoting.py::graphviz.quoting.escape PASSED [ > 2%] > graphviz/quoting.py::graphviz.quoting.nohtml PASSED [ > 2%] > graphviz/quoting.py::graphviz.quoting.quote PASSED [ > 3%] > graphviz/quoting.py::graphviz.quoting.quote_edge PASSED [ > 3%] > graphviz/rendering.py::graphviz.rendering.Render.render PASSED [ > 3%] > graphviz/backend/piping.py::graphviz.backend.piping.pipe PASSED [ > 4%] > graphviz/backend/piping.py::graphviz.backend.piping.pipe_lines PASSED [ > 4%] > graphviz/backend/piping.py::graphviz.backend.piping.pipe_lines_string PASSED > [ 4%] > graphviz/backend/piping.py::graphviz.backend.piping.pipe_string PASSED [ > 4%] > graphviz/backend/rendering.py::graphviz.backend.rendering.get_supported_formats > PASSED [ 5%] > graphviz/backend/rendering.py::graphviz.backend.rendering.get_supported_suffixes > PASSED [ 5%] > graphviz/backend/rendering.py::graphviz.backend.rendering.infer_format PASSED > [ 5%] > graphviz/backend/rendering.py::graphviz.backend.rendering.render PASSED [ > 6%] > graphviz/backend/upstream_version.py::graphviz.backend.upstream_version.version > PASSED [ 6%] > tests/test_all_classes.py::test_copy[Graph] PASSED [ > 6%] > tests/test_all_classes.py::test_copy[Digraph] PASSED [ > 6%] > tests/test_all_classes.py::test_copy[Source] PASSED [ > 7%] > tests/test_all_classes.py::test_str[Graph] PASSED [ > 7%] > tests/test_all_classes.py::test_str[Digraph] PASSED [ > 7%] > tests/test_all_classes.py::test_str[Source] PASSED [ > 8%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Graph-engine-ValueError-unknown > engine] PASSED [ 8%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Graph-format-ValueError-unknown > format] PASSED [ 8%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Graph-renderer-ValueError-unknown > renderer] PASSED [ 8%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Graph-formatter-ValueError-unknown > formatter] PASSED [ 9%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Graph-encoding-LookupError-encoding] > PASSED [ 9%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Digraph-engine-ValueError-unknown > engine] PASSED [ 9%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Digraph-format-ValueError-unknown > format] PASSED [ 10%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Digraph-renderer-ValueError-unknown > renderer] PASSED [ 10%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Digraph-formatter-ValueError-unknown > formatter] PASSED [ 10%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Digraph-encoding-LookupError-encoding] > PASSED [ 10%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Source-engine-ValueError-unknown > engine] PASSED [ 11%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Source-format-ValueError-unknown > format] PASSED [ 11%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Source-renderer-ValueError-unknown > renderer] PASSED [ 11%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Source-formatter-ValueError-unknown > formatter] PASSED [ 12%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Source-encoding-LookupError-encoding] > PASSED [ 12%] > tests/test_all_classes.py::test_encoding_none[Graph] PASSED [ > 12%] > tests/test_all_classes.py::test_encoding_none[Digraph] PASSED [ > 13%] > tests/test_all_classes.py::test_encoding_none[Source] PASSED [ > 13%] > tests/test_all_classes.py::test_render_raises_before_save[Graph-kwargs0] > PASSED [ 13%] > tests/test_all_classes.py::test_render_raises_before_save[Digraph-kwargs0] > PASSED [ 13%] > tests/test_all_classes.py::test_render_raises_before_save[Source-kwargs0] > PASSED [ 14%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Graph-kwargs0] > PASSED [ 14%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Graph-kwargs1] > PASSED [ 14%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Graph-kwargs2] > PASSED [ 15%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Graph-kwargs3] > PASSED [ 15%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Digraph-kwargs0] > PASSED [ 15%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Digraph-kwargs1] > PASSED [ 15%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Digraph-kwargs2] > PASSED [ 16%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Digraph-kwargs3] > PASSED [ 16%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Source-kwargs0] > PASSED [ 16%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Source-kwargs1] > PASSED [ 17%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Source-kwargs2] > PASSED [ 17%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Source-kwargs3] > PASSED [ 17%] > tests/test_all_classes.py::test_render_mocked[Graph] PASSED [ > 17%] > tests/test_all_classes.py::test_render_mocked[Digraph] PASSED [ > 18%] > tests/test_all_classes.py::test_render_mocked[Source] PASSED [ > 18%] > tests/test_all_classes.py::test_render_outfile_mocked[Graph] PASSED [ > 18%] > tests/test_all_classes.py::test_render_outfile_mocked[Digraph] PASSED [ > 19%] > tests/test_all_classes.py::test_render_outfile_mocked[Source] PASSED [ > 19%] > tests/test_all_classes.py::test_format_renderer_formatter_mocked[quiet=False-Graph] > PASSED [ 19%] > tests/test_all_classes.py::test_format_renderer_formatter_mocked[quiet=False-Digraph] > PASSED [ 19%] > tests/test_all_classes.py::test_format_renderer_formatter_mocked[quiet=False-Source] > PASSED [ 20%] > tests/test_all_classes.py::test_format_renderer_formatter_mocked[quiet=True-Graph] > PASSED [ 20%] > tests/test_all_classes.py::test_format_renderer_formatter_mocked[quiet=True-Digraph] > PASSED [ 20%] > tests/test_all_classes.py::test_format_renderer_formatter_mocked[quiet=True-Source] > PASSED [ 21%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Graph-None] > PASSED [ 21%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Graph-False] > PASSED [ 21%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Graph-True] > PASSED [ 21%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Graph-0] > PASSED [ 22%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Graph-1] > PASSED [ 22%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Graph-2] > PASSED [ 22%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Digraph-None] > PASSED [ 23%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Digraph-False] > PASSED [ 23%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Digraph-True] > PASSED [ 23%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Digraph-0] > PASSED [ 23%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Digraph-1] > PASSED [ 24%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Digraph-2] > PASSED [ 24%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Source-None] > PASSED [ 24%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Source-False] > PASSED [ 25%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Source-True] > PASSED [ 25%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Source-0] > PASSED [ 25%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Source-1] > PASSED [ 26%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Source-2] > PASSED [ 26%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Graph-None] > PASSED [ 26%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Graph-False] > PASSED [ 26%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Graph-True] > PASSED [ 27%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Graph-0] PASSED > [ 27%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Graph-1] PASSED > [ 27%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Graph-2] PASSED > [ 28%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Digraph-None] > PASSED [ 28%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Digraph-False] > PASSED [ 28%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Digraph-True] > PASSED [ 28%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Digraph-0] > PASSED [ 29%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Digraph-1] > PASSED [ 29%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Digraph-2] > PASSED [ 29%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Source-None] > PASSED [ 30%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Source-False] > PASSED [ 30%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Source-True] > PASSED [ 30%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Source-0] > PASSED [ 30%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Source-1] > PASSED [ 31%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Source-2] > PASSED [ 31%] > tests/test_all_classes.py::test_save_mocked[Graph] PASSED [ > 31%] > tests/test_all_classes.py::test_save_mocked[Digraph] PASSED [ > 32%] > tests/test_all_classes.py::test_save_mocked[Source] PASSED [ > 32%] > tests/test_all_classes.py::test_pipe_mocked[quiet=False-Graph-None] PASSED [ > 32%] > tests/test_all_classes.py::test_pipe_mocked[quiet=False-Graph-ascii] PASSED [ > 32%] > tests/test_all_classes.py::test_pipe_mocked[quiet=False-Graph-utf-8] PASSED [ > 33%] > tests/test_all_classes.py::test_pipe_mocked[quiet=False-Digraph-None] PASSED > [ 33%] > tests/test_all_classes.py::test_pipe_mocked[quiet=False-Digraph-ascii] PASSED > [ 33%] > tests/test_all_classes.py::test_pipe_mocked[quiet=False-Digraph-utf-8] PASSED > [ 34%] > tests/test_all_classes.py::test_pipe_mocked[quiet=False-Source-None] PASSED [ > 34%] > tests/test_all_classes.py::test_pipe_mocked[quiet=False-Source-ascii] PASSED > [ 34%] > tests/test_all_classes.py::test_pipe_mocked[quiet=False-Source-utf-8] PASSED > [ 34%] > tests/test_all_classes.py::test_pipe_mocked[quiet=True-Graph-None] PASSED [ > 35%] > tests/test_all_classes.py::test_pipe_mocked[quiet=True-Graph-ascii] PASSED [ > 35%] > tests/test_all_classes.py::test_pipe_mocked[quiet=True-Graph-utf-8] PASSED [ > 35%] > tests/test_all_classes.py::test_pipe_mocked[quiet=True-Digraph-None] PASSED [ > 36%] > tests/test_all_classes.py::test_pipe_mocked[quiet=True-Digraph-ascii] PASSED > [ 36%] > tests/test_all_classes.py::test_pipe_mocked[quiet=True-Digraph-utf-8] PASSED > [ 36%] > tests/test_all_classes.py::test_pipe_mocked[quiet=True-Source-None] PASSED [ > 36%] > tests/test_all_classes.py::test_pipe_mocked[quiet=True-Source-ascii] PASSED [ > 37%] > tests/test_all_classes.py::test_pipe_mocked[quiet=True-Source-utf-8] PASSED [ > 37%] > tests/test_all_classes.py::test_pipe_lines_mocked[Graph] PASSED [ > 37%] > tests/test_all_classes.py::test_pipe_lines_mocked[Digraph] PASSED [ > 38%] > tests/test_all_classes.py::test_pipe_lines_mocked[Source] PASSED [ > 38%] > tests/test_all_classes.py::test_pipe_lines_called_process_error[Graph] PASSED > [ 38%] > tests/test_all_classes.py::test_pipe_lines_called_process_error[Digraph] > PASSED [ 39%] > tests/test_all_classes.py::test_pipe_lines_called_process_error[Source] > PASSED [ 39%] > tests/test_all_classes.py::test_pipe_lines_called_process_error_mocked[Graph] > PASSED [ 39%] > tests/test_all_classes.py::test_pipe_lines_called_process_error_mocked[Digraph] > PASSED [ 39%] > tests/test_all_classes.py::test_pipe_lines_called_process_error_mocked[Source] > PASSED [ 40%] > tests/test_all_classes.py::test_repr_mimebundle_image_svg_xml_mocked[Graph] > PASSED [ 40%] > tests/test_all_classes.py::test_repr_mimebundle_image_svg_xml_mocked[Digraph] > PASSED [ 40%] > tests/test_all_classes.py::test_repr_mimebundle_image_svg_xml_mocked[Source] > PASSED [ 41%] > tests/test_all_classes.py::test_repr_mimebundle_image_png_mocked[Graph] > PASSED [ 41%] > tests/test_all_classes.py::test_repr_mimebundle_image_png_mocked[Digraph] > PASSED [ 41%] > tests/test_all_classes.py::test_repr_mimebundle_image_png_mocked[Source] > PASSED [ 41%] > tests/test_all_classes.py::test_repr_mimebundle_image_jpeg_mocked[Graph] > PASSED [ 42%] > tests/test_all_classes.py::test_repr_mimebundle_image_jpeg_mocked[Digraph] > PASSED [ 42%] > tests/test_all_classes.py::test_repr_mimebundle_image_jpeg_mocked[Source] > PASSED [ 42%] > tests/test_all_classes.py::test_unflatten[Graph] PASSED [ > 43%] > tests/test_all_classes.py::test_unflatten[Digraph] PASSED [ > 43%] > tests/test_all_classes.py::test_unflatten[Source] PASSED [ > 43%] > tests/test_all_classes.py::test_unflatten_mocked[Graph] PASSED [ > 43%] > tests/test_all_classes.py::test_unflatten_mocked[Digraph] PASSED [ > 44%] > tests/test_all_classes.py::test_unflatten_mocked[Source] PASSED [ > 44%] > tests/test_all_classes.py::test_view_mocked[Graph] PASSED [ > 44%] > tests/test_all_classes.py::test_view_mocked[Digraph] PASSED [ > 45%] > tests/test_all_classes.py::test_view_mocked[Source] PASSED [ > 45%] > tests/test_all_classes.py::test__view_unknown_platform[Graph] PASSED [ > 45%] > tests/test_all_classes.py::test__view_unknown_platform[Digraph] PASSED [ > 45%] > tests/test_all_classes.py::test__view_unknown_platform[Source] PASSED [ > 46%] > tests/test_all_classes.py::test__view_mocked[platform='darwin'-Graph] PASSED > [ 46%] > tests/test_all_classes.py::test__view_mocked[platform='darwin'-Digraph] > PASSED [ 46%] > tests/test_all_classes.py::test__view_mocked[platform='darwin'-Source] PASSED > [ 47%] > tests/test_all_classes.py::test__view_mocked[platform='freebsd'-Graph] PASSED > [ 47%] > tests/test_all_classes.py::test__view_mocked[platform='freebsd'-Digraph] > PASSED [ 47%] > tests/test_all_classes.py::test__view_mocked[platform='freebsd'-Source] > PASSED [ 47%] > tests/test_all_classes.py::test__view_mocked[platform='linux'-Graph] PASSED [ > 48%] > tests/test_all_classes.py::test__view_mocked[platform='linux'-Digraph] PASSED > [ 48%] > tests/test_all_classes.py::test__view_mocked[platform='linux'-Source] PASSED > [ 48%] > tests/test_all_classes.py::test__view_mocked[platform='windows'-Graph] PASSED > [ 49%] > tests/test_all_classes.py::test__view_mocked[platform='windows'-Digraph] > PASSED [ 49%] > tests/test_all_classes.py::test__view_mocked[platform='windows'-Source] > PASSED [ 49%] > tests/test_graphs.py::test_init_filename[Graph] PASSED [ > 50%] > tests/test_graphs.py::test_init_filename[Digraph] PASSED [ > 50%] > tests/test_graphs.py::test_init_body[Graph-...-...] PASSED [ > 50%] > tests/test_graphs.py::test_init_body[Digraph-...-...] PASSED [ > 50%] > tests/test_graphs.py::test_subgraph_render[Graph-...] PASSED [ > 51%] > tests/test_graphs.py::test_subgraph_render[Digraph-...] PASSED [ > 51%] > tests/test_graphs.py::test_clear[Graph-False] PASSED [ > 51%] > tests/test_graphs.py::test_clear[Graph-True] PASSED [ > 52%] > tests/test_graphs.py::test_clear[Digraph-False] PASSED [ > 52%] > tests/test_graphs.py::test_clear[Digraph-True] PASSED [ > 52%] > tests/test_graphs.py::test_iter_subgraph_strict[Graph] PASSED [ > 52%] > tests/test_graphs.py::test_iter_subgraph_strict[Digraph] PASSED [ > 53%] > tests/test_graphs.py::test_iter_strict[Graph-...] PASSED [ > 53%] > tests/test_graphs.py::test_iter_strict[Digraph-...] PASSED [ > 53%] > tests/test_graphs.py::test_attr_invalid_kw[Graph] PASSED [ > 54%] > tests/test_graphs.py::test_attr_invalid_kw[Digraph] PASSED [ > 54%] > tests/test_graphs.py::test_attr_kw_none[Graph-...] PASSED [ > 54%] > tests/test_graphs.py::test_attr_kw_none[Digraph-...] PASSED [ > 54%] > tests/test_graphs.py::test_escaped_quotes_and_escapes[Graph-...] PASSED [ > 55%] > tests/test_graphs.py::test_escaped_quotes_and_escapes[Digraph-...] PASSED [ > 55%] > tests/test_graphs.py::test_subgraph_graph_none[Graph-...] PASSED [ > 55%] > tests/test_graphs.py::test_subgraph_graph_none[Digraph-...] PASSED [ > 56%] > tests/test_graphs.py::test_subgraph_graph_notsole[Graph] PASSED [ > 56%] > tests/test_graphs.py::test_subgraph_graph_notsole[Digraph] PASSED [ > 56%] > tests/test_graphs.py::test_subgraph_mixed[Graph, Digraph] PASSED [ > 56%] > tests/test_graphs.py::test_subgraph_mixed[Digraph, Graph] PASSED [ > 57%] > tests/test_graphs.py::test_subgraph_reflexive[Graph-...] PASSED [ > 57%] > tests/test_graphs.py::test_subgraph_reflexive[Digraph-...] PASSED [ > 57%] > tests/test_graphs.py::test_subgraph PASSED [ > 58%] > tests/test_graphs.py::test_label_html PASSED [ > 58%] > tests/test_init.py::test_set_default_engine_invalid PASSED [ > 58%] > tests/test_init.py::test_set_default_format_invalid PASSED [ > 58%] > tests/test_init.py::test_set_default_engine PASSED [ > 59%] > tests/test_init.py::test_set_default_format PASSED [ > 59%] > tests/test_init.py::test_set_jupyter_format PASSED [ > 59%] > tests/test_jupyter_integration.py::test_get_jupyter_format_mimetype_invalid_raises_unknown > PASSED [ 60%] > tests/test_jupyter_integration.py::test_get_jupyter_mimetype_format_normalizes > PASSED [ 60%] > tests/test_jupyter_integration.py::test_get_jupyter_mimetype_format_raises_unsupported > PASSED [ 60%] > tests/test_jupyter_integration.py::test_repr_image_svg_xml_encoding PASSED [ > 60%] > tests/test_jupyter_integration.py::test_repr_image_svg_xml_encoding_mocked[utf-8] > PASSED [ 61%] > tests/test_jupyter_integration.py::test_repr_image_svg_xml_encoding_mocked[ascii] > PASSED [ 61%] > tests/test_jupyter_integration.py::test_repr_image_svg_xml_encoding_mocked[latin1] > PASSED [ 61%] > tests/test_parameters.py::test_parameters[Graph] PASSED [ > 62%] > tests/test_parameters.py::test_parameters[Digraph] PASSED [ > 62%] > tests/test_parameters.py::test_parameters[Source] PASSED [ > 62%] > tests/test_parameters.py::test_verify_parameter_raises_unknown[verify_engine] > PASSED [ 63%] > tests/test_parameters.py::test_verify_parameter_raises_unknown[verify_format] > PASSED [ 63%] > tests/test_parameters.py::test_verify_parameter_raises_unknown[verify_renderer] > PASSED [ 63%] > tests/test_parameters.py::test_verify_parameter_raises_unknown[verify_formatter] > PASSED [ 63%] > tests/test_parameters.py::test_verify_parameter_none_required_false_passes[verify_engine] > PASSED [ 64%] > tests/test_parameters.py::test_verify_parameter_none_required_false_passes[verify_format] > PASSED [ 64%] > tests/test_parameters.py::test_verify_parameter_none_required_false_passes[verify_renderer] > PASSED [ 64%] > tests/test_parameters.py::test_verify_parameter_none_required_false_passes[verify_formatter] > PASSED [ 65%] > tests/test_parameters.py::test_verify_parameter_none_required_raises_missing[verify_engine] > PASSED [ 65%] > tests/test_parameters.py::test_verify_parameter_none_required_raises_missing[verify_format] > PASSED [ 65%] > tests/test_parameters.py::test_verify_parameter_none_required_raises_missing[verify_renderer] > PASSED [ 65%] > tests/test_parameters.py::test_verify_parameter_none_required_raises_missing[verify_formatter] > PASSED [ 66%] > tests/test_quoting.py::test_deprecated_escape[G] FAILED [ > 66%] > tests/test_quoting.py::test_deprecated_escape[E] FAILED [ > 66%] > tests/test_quoting.py::test_deprecated_escape[T] FAILED [ > 67%] > tests/test_quoting.py::test_deprecated_escape[H] FAILED [ > 67%] > tests/test_quoting.py::test_deprecated_escape[L] FAILED [ > 67%] > tests/test_quoting.py::test_deprecated_escape[l] FAILED [ > 67%] > tests/test_quoting.py::test_quote["spam"-"\\"spam\\""] PASSED [ > 68%] > tests/test_quoting.py::test_quote[node-"node"] PASSED [ > 68%] > tests/test_quoting.py::test_quote[EDGE-"EDGE"] PASSED [ > 68%] > tests/test_quoting.py::test_quote[Graph-"Graph"] PASSED [ > 69%] > tests/test_quoting.py::test_quote[\\G \\N \\E \\T \\H \\L-"\\G \\N \\E \\T > \\H \\L"] PASSED [ 69%] > tests/test_quoting.py::test_quote[\\n \\l \\r-"\\n \\l \\r"] PASSED [ > 69%] > tests/test_quoting.py::test_quote[\r\n-"\r\n"] PASSED [ > 69%] > tests/test_quoting.py::test_quote[\\\\n-"\\\\n"] PASSED [ > 70%] > tests/test_quoting.py::test_quote[\u0665.\u0660-"\u0665.\u0660"] PASSED [ > 70%] > tests/test_quoting.py::test_quote[\\"spam-"\\"spam"] PASSED [ > 70%] > tests/test_quoting.py::test_quote[\\\\"spam-"\\\\\\"spam"] PASSED [ > 71%] > tests/test_quoting.py::test_quote[\\\\\\"spam-"\\\\\\"spam"] PASSED [ > 71%] > tests/test_quoting.py::test_quote[\\\\\\\\"spam-"\\\\\\\\\\"spam"] PASSED [ > 71%] > tests/test_quoting.py::test_attr_list[attributes0- [spam=eggs]] PASSED [ > 71%] > tests/test_quoting.py::test_attr_list[attributes1- [spam=eggs]] PASSED [ > 72%] > tests/test_quoting.py::test_nohtml[spam-spam-spam] PASSED [ > 72%] > tests/test_quoting.py::test_nohtml[<>-*-<>-<>-*-<>-"<>-*-<>"] PASSED [ > 72%] > tests/test_saving.py::test_saves_source_from_file PASSED [ > 73%] > tests/test_sources.py::test_source_parameter[engine] PASSED [ > 73%] > tests/test_sources.py::test_source_parameter[format] PASSED [ > 73%] > tests/test_sources.py::test_source_parameter[encoding] PASSED [ > 73%] > tests/test_sources.py::test_init PASSED [ > 74%] > tests/test_sources.py::test_init_filename PASSED [ > 74%] > tests/test_sources.py::test_filepath PASSED [ > 74%] > tests/test_sources.py::test_from_file PASSED [ > 75%] > tests/test_sources.py::test_source_iter PASSED [ > 75%] > tests/test_tools.py::test_mkdirs_invalid PASSED [ > 75%] > tests/test_tools.py::test_mkdirs PASSED [ > 76%] > tests/test_tools.py::test_deprecate_positional_args[FutureWarning- > third='third' ] PASSED [ 76%] > tests/test_tools.py::test_deprecate_positional_args[DeprecationWarning- > third='third' ] PASSED [ 76%] > tests/test_tools.py::test_deprecate_positional_args[PendingDeprecationWarning- > third='third' ] PASSED [ 76%] > tests/test_tools.py::test_deprecate_positional_args[None-None] PASSED [ > 77%] > tests/backend/test_execute.py::test_missing_executable[render-args0] PASSED [ > 77%] > tests/backend/test_execute.py::test_missing_executable[pipe-args1] PASSED [ > 77%] > tests/backend/test_execute.py::test_missing_executable[unflatten-args2] > PASSED [ 78%] > tests/backend/test_execute.py::test_missing_executable[version-args3] PASSED > [ 78%] > tests/backend/test_execute.py::test_run_check_oserror PASSED [ > 78%] > tests/backend/test_execute.py::test_run_check_called_process_error_mocked[quiet=False] > PASSED [ 78%] > tests/backend/test_execute.py::test_run_check_called_process_error_mocked[quiet=True] > PASSED [ 79%] > tests/backend/test_execute.py::test_run_check_input_lines_mocked PASSED [ > 79%] > tests/backend/test_piping.py::test_pipe_invalid_data[quiet=False] PASSED [ > 79%] > tests/backend/test_piping.py::test_pipe_invalid_data[quiet=True] PASSED [ > 80%] > tests/backend/test_piping.py::test_pipe[dot-svg-None-None-(?s)^<\\?xml > .+</svg>\\s*$] PASSED [ 80%] > tests/backend/test_piping.py::test_pipe[dot-ps-ps-core-%!PS-] PASSED [ > 80%] > tests/backend/test_piping.py::test_pipe[sfdp-svg-None-None-(?s)^<\\?xml > .+</svg>\\s*$] PASSED [ 80%] > tests/backend/test_piping.py::test_pipe_mocked[quiet=False] PASSED [ > 81%] > tests/backend/test_piping.py::test_pipe_mocked[quiet=True] PASSED [ > 81%] > tests/backend/test_piping.py::test_pipe_string_mocked[quiet=False] PASSED [ > 81%] > tests/backend/test_piping.py::test_pipe_string_mocked[quiet=True] PASSED [ > 82%] > tests/backend/test_piping.py::test_pipe_lines_mocked[quiet=False] PASSED [ > 82%] > tests/backend/test_piping.py::test_pipe_lines_mocked[quiet=True] PASSED [ > 82%] > tests/backend/test_piping.py::test_pipe_lines_string_mocked[quiet=False] > PASSED [ 82%] > tests/backend/test_piping.py::test_pipe_lines_string_mocked[quiet=True] > PASSED [ 83%] > tests/backend/test_rendering.py::test_render_missing_file[quiet=False] PASSED > [ 83%] > tests/backend/test_rendering.py::test_render_missing_file[quiet=True] PASSED > [ 83%] > tests/backend/test_rendering.py::test_render_unknown_parameter_raises[args0-ValueError-unknown > engine] PASSED [ 84%] > tests/backend/test_rendering.py::test_render_unknown_parameter_raises[args1-ValueError-unknown > format] PASSED [ 84%] > tests/backend/test_rendering.py::test_render_unknown_parameter_raises[args2-ValueError-unknown > renderer] PASSED [ 84%] > tests/backend/test_rendering.py::test_render_unknown_parameter_raises[args3-RequiredArgumentError-without > renderer] PASSED [ 84%] > tests/backend/test_rendering.py::test_render_unknown_parameter_raises[args4-ValueError-unknown > formatter] PASSED [ 85%] > tests/backend/test_rendering.py::test_render[dot-pdf-None-None-pdf] PASSED [ > 85%] > tests/backend/test_rendering.py::test_render[dot-plain-dot-core-core.dot.plain] > PASSED [ 85%] > tests/backend/test_rendering.py::test_render_img PASSED [ > 86%] > tests/backend/test_rendering.py::test_render_outfile_differnt_parent PASSED [ > 86%] > tests/backend/test_rendering.py::test_render_mocked[quiet=False-None] PASSED > [ 86%] > tests/backend/test_rendering.py::test_render_mocked[quiet=False-dot_sources] > PASSED [ 86%] > tests/backend/test_rendering.py::test_render_mocked[quiet=True-None] PASSED [ > 87%] > tests/backend/test_rendering.py::test_render_mocked[quiet=True-dot_sources] > PASSED [ 87%] > tests/backend/test_rendering.py::test_render_raises_mocked[args0-kwargs0-RequiredArgumentError-filepath: > \\(required] PASSED [ 87%] > tests/backend/test_rendering.py::test_render_raises_mocked[args1-kwargs1-RequiredArgumentError-filepath: > \\(required] PASSED [ 88%] > tests/backend/test_rendering.py::test_render_raises_mocked[args2-kwargs2-RequiredArgumentError-format: > \\(required] PASSED [ 88%] > tests/backend/test_rendering.py::test_render_raises_mocked[args3-kwargs3-RequiredArgumentError-filepath: > \\(required] PASSED [ 88%] > tests/backend/test_rendering.py::test_render_raises_mocked[args4-kwargs4-ValueError-outfile > 'spam\\.gv' must be different from input file 'spam\\.gv'] PASSED [ 89%] > tests/backend/test_rendering.py::test_render_raises_mocked[args5-kwargs5-ValueError-overwrite_filepath > cannot be combined with raise_if_result_exists] PASSED [ 89%] > tests/backend/test_rendering.py::test_render_raises_mocked[args6-kwargs6-FileExistsError-output > file exists: 'spam.png'] PASSED [ 89%] > tests/backend/test_rendering.py::test_get_outfile[spam.gv-kwargs0-spam.gv.pdf] > PASSED [ 89%] > tests/backend/test_rendering.py::test_get_outfile[spam.gv-kwargs1-spam.gv.dot.plain] > PASSED [ 90%] > tests/backend/test_rendering.py::test_get_filepath[spam.pdf-spam.gv] PASSED [ > 90%] > tests/backend/test_rendering.py::test_get_filepath[spam-spam.gv] PASSED [ > 90%] > tests/backend/test_rendering.py::test_get_format[spam.gv.pdf-None-pdf] PASSED > [ 91%] > tests/backend/test_rendering.py::test_get_format[spam.jpeg-None-jpeg] PASSED > [ 91%] > tests/backend/test_rendering.py::test_get_format[spam.SVG-None-svg] PASSED [ > 91%] > tests/backend/test_rendering.py::test_get_format[spam.pdf-None-pdf] PASSED [ > 91%] > tests/backend/test_rendering.py::test_get_format[spam.pdf-pdf-pdf] PASSED [ > 92%] > 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 [ 92%] > 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 [ 92%] > tests/backend/test_rendering.py::test_get_format_warns[spam-svg-svg-UnknownSuffixWarning-unknown > outfile suffix '' \\(expected: '\\.svg'\\)] PASSED [ 93%] > tests/backend/test_rendering.py::test_get_format_warns[spam.peng-png-png-UnknownSuffixWarning-unknown > outfile suffix '.peng' \\(expected: '\\.png'\\)] PASSED [ 93%] > tests/backend/test_rendering.py::test_get_format_warns[spam-pdf-pdf-UnknownSuffixWarning-unknown > outfile suffix '' \\(expected: '\\.pdf'\\)] PASSED [ 93%] > tests/backend/test_rendering.py::test_get_format_raises[spam-RequiredArgumentError-cannot > infer rendering format from suffix '' of outfile: 'spam'] PASSED [ 93%] > tests/backend/test_rendering.py::test_get_format_raises[spam.peng-RequiredArgumentError-cannot > infer rendering format from suffix '.peng' of outfile: 'spam.peng'] PASSED [ > 94%] > tests/backend/test_rendering.py::test_get_format_raises[spam.wav-RequiredArgumentError-cannot > infer rendering format from suffix '.wav' of outfile: 'spam.wav'] PASSED [ > 94%] > tests/backend/test_unflattening.py::test_unflatten_stagger_missing PASSED [ > 94%] > 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 [ 95%] > tests/backend/test_unflattening.py::test_unflatten_mocked PASSED [ > 95%] > tests/backend/test_upstream_version.py::test_version PASSED [ > 95%] > tests/backend/test_upstream_version.py::test_version_mocked[dot - graphviz > version 1.2.3 (mocked)-expected0] PASSED [ 95%] > tests/backend/test_upstream_version.py::test_version_mocked[dot - graphviz > version 2.43.20190912.0211 (20190912.0211)\n-expected1] PASSED [ 96%] > tests/backend/test_upstream_version.py::test_version_mocked[dot - graphviz > version 2.44.2~dev.20200927.0217 (20200927.0217)\n-expected2] PASSED [ 96%] > tests/backend/test_upstream_version.py::test_version_mocked[dot - graphviz > version 2.44.1 (mocked)\n-expected3] PASSED [ 96%] > tests/backend/test_upstream_version.py::test_version_mocked[dot - graphviz > version 2.44.2~dev.20200704.1652 (mocked)\n-expected4] PASSED [ 97%] > tests/backend/test_upstream_version.py::test_version_parsefail_mocked PASSED > [ 97%] > tests/backend/test_viewing.py::test_view_unknown_platform PASSED [ > 97%] > tests/backend/test_viewing.py::test_view_mocked[platform='darwin'-quiet=False] > PASSED [ 97%] > tests/backend/test_viewing.py::test_view_mocked[platform='darwin'-quiet=True] > PASSED [ 98%] > tests/backend/test_viewing.py::test_view_mocked[platform='freebsd'-quiet=False] > PASSED [ 98%] > tests/backend/test_viewing.py::test_view_mocked[platform='freebsd'-quiet=True] > PASSED [ 98%] > tests/backend/test_viewing.py::test_view_mocked[platform='linux'-quiet=False] > PASSED [ 99%] > tests/backend/test_viewing.py::test_view_mocked[platform='linux'-quiet=True] > PASSED [ 99%] > tests/backend/test_viewing.py::test_view_mocked[platform='windows'-quiet=False] > PASSED [ 99%] > tests/backend/test_viewing.py::test_view_mocked[platform='windows'-quiet=True] > PASSED [100%] > > =================================== FAILURES > =================================== > __________________________ test_deprecated_escape[G] > ___________________________ > > recwarn = WarningsRecorder(record=True), char = 'G' > > @pytest.mark.parametrize( > 'char', ['G', 'E', 'T', 'H', 'L', 'l']) > def test_deprecated_escape(recwarn, char): > warnings.simplefilter('always') > > escape = eval(rf'"\{char}"') > > assert len(recwarn) == 1 > > w = recwarn.pop(DeprecationWarning) > E AssertionError: <class 'DeprecationWarning'> not found in warning list > > tests/test_quoting.py:17: AssertionError > __________________________ test_deprecated_escape[E] > ___________________________ > > recwarn = WarningsRecorder(record=True), char = 'E' > > @pytest.mark.parametrize( > 'char', ['G', 'E', 'T', 'H', 'L', 'l']) > def test_deprecated_escape(recwarn, char): > warnings.simplefilter('always') > > escape = eval(rf'"\{char}"') > > assert len(recwarn) == 1 > > w = recwarn.pop(DeprecationWarning) > E AssertionError: <class 'DeprecationWarning'> not found in warning list > > tests/test_quoting.py:17: AssertionError > __________________________ test_deprecated_escape[T] > ___________________________ > > recwarn = WarningsRecorder(record=True), char = 'T' > > @pytest.mark.parametrize( > 'char', ['G', 'E', 'T', 'H', 'L', 'l']) > def test_deprecated_escape(recwarn, char): > warnings.simplefilter('always') > > escape = eval(rf'"\{char}"') > > assert len(recwarn) == 1 > > w = recwarn.pop(DeprecationWarning) > E AssertionError: <class 'DeprecationWarning'> not found in warning list > > tests/test_quoting.py:17: AssertionError > __________________________ test_deprecated_escape[H] > ___________________________ > > recwarn = WarningsRecorder(record=True), char = 'H' > > @pytest.mark.parametrize( > 'char', ['G', 'E', 'T', 'H', 'L', 'l']) > def test_deprecated_escape(recwarn, char): > warnings.simplefilter('always') > > escape = eval(rf'"\{char}"') > > assert len(recwarn) == 1 > > w = recwarn.pop(DeprecationWarning) > E AssertionError: <class 'DeprecationWarning'> not found in warning list > > tests/test_quoting.py:17: AssertionError > __________________________ test_deprecated_escape[L] > ___________________________ > > recwarn = WarningsRecorder(record=True), char = 'L' > > @pytest.mark.parametrize( > 'char', ['G', 'E', 'T', 'H', 'L', 'l']) > def test_deprecated_escape(recwarn, char): > warnings.simplefilter('always') > > escape = eval(rf'"\{char}"') > > assert len(recwarn) == 1 > > w = recwarn.pop(DeprecationWarning) > E AssertionError: <class 'DeprecationWarning'> not found in warning list > > tests/test_quoting.py:17: AssertionError > __________________________ test_deprecated_escape[l] > ___________________________ > > recwarn = WarningsRecorder(record=True), char = 'l' > > @pytest.mark.parametrize( > 'char', ['G', 'E', 'T', 'H', 'L', 'l']) > def test_deprecated_escape(recwarn, char): > warnings.simplefilter('always') > > escape = eval(rf'"\{char}"') > > assert len(recwarn) == 1 > > w = recwarn.pop(DeprecationWarning) > E AssertionError: <class 'DeprecationWarning'> not found in warning list > > tests/test_quoting.py:17: AssertionError > > ---------- coverage: platform linux, python 3.12.1-final-0 ----------- > Name Stmts > Miss Cover > -------------------------------------------------------------------------------------- > /<<PKGBUILDDIR>>/conftest.py 23 2 91% > /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 100 > 95 5% > /usr/lib/python3/dist-packages/_pytest/_argcomplete.py 37 > 36 3% > /usr/lib/python3/dist-packages/_pytest/_code/code.py 724 > 500 31% > /usr/lib/python3/dist-packages/_pytest/_code/source.py 145 > 89 39% > /usr/lib/python3/dist-packages/_pytest/_io/saferepr.py 82 > 64 22% > /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py 120 > 74 38% > /usr/lib/python3/dist-packages/_pytest/_io/wcwidth.py 25 > 16 36% > /usr/lib/python3/dist-packages/_pytest/_py/path.py 947 > 942 1% > /usr/lib/python3/dist-packages/_pytest/assertion/__init__.py 86 > 73 15% > /usr/lib/python3/dist-packages/_pytest/assertion/rewrite.py 672 > 350 48% > /usr/lib/python3/dist-packages/_pytest/cacheprovider.py 322 > 272 16% > /usr/lib/python3/dist-packages/_pytest/capture.py 603 > 446 26% > /usr/lib/python3/dist-packages/_pytest/compat.py 164 > 116 29% > /usr/lib/python3/dist-packages/_pytest/config/__init__.py 890 > 702 21% > /usr/lib/python3/dist-packages/_pytest/config/argparsing.py 259 > 179 31% > /usr/lib/python3/dist-packages/_pytest/config/compat.py 38 > 18 53% > /usr/lib/python3/dist-packages/_pytest/debugging.py 230 > 221 4% > /usr/lib/python3/dist-packages/_pytest/deprecated.py 24 > 23 4% > /usr/lib/python3/dist-packages/_pytest/doctest.py 361 > 235 35% > /usr/lib/python3/dist-packages/_pytest/faulthandler.py 55 > 41 25% > /usr/lib/python3/dist-packages/_pytest/fixtures.py 826 > 409 50% > /usr/lib/python3/dist-packages/_pytest/helpconfig.py 134 > 124 7% > /usr/lib/python3/dist-packages/_pytest/junitxml.py 367 > 365 1% > /usr/lib/python3/dist-packages/_pytest/legacypath.py 216 > 188 13% > /usr/lib/python3/dist-packages/_pytest/logging.py 440 > 295 33% > /usr/lib/python3/dist-packages/_pytest/main.py 471 > 289 39% > /usr/lib/python3/dist-packages/_pytest/mark/__init__.py 129 > 85 34% > /usr/lib/python3/dist-packages/_pytest/mark/expression.py 127 > 78 39% > /usr/lib/python3/dist-packages/_pytest/mark/structures.py 272 > 193 29% > /usr/lib/python3/dist-packages/_pytest/monkeypatch.py 168 > 114 32% > /usr/lib/python3/dist-packages/_pytest/nodes.py 333 > 201 40% > /usr/lib/python3/dist-packages/_pytest/nose.py 29 > 20 31% > /usr/lib/python3/dist-packages/_pytest/pastebin.py 70 > 69 1% > /usr/lib/python3/dist-packages/_pytest/pathlib.py 416 > 288 31% > /usr/lib/python3/dist-packages/_pytest/python.py 896 > 556 38% > /usr/lib/python3/dist-packages/_pytest/python_api.py 337 > 311 8% > /usr/lib/python3/dist-packages/_pytest/python_path.py 16 > 15 6% > /usr/lib/python3/dist-packages/_pytest/recwarn.py 130 > 77 41% > /usr/lib/python3/dist-packages/_pytest/reports.py 297 > 257 13% > /usr/lib/python3/dist-packages/_pytest/runner.py 296 > 155 48% > /usr/lib/python3/dist-packages/_pytest/scope.py 39 > 29 26% > /usr/lib/python3/dist-packages/_pytest/setuponly.py 58 > 51 12% > /usr/lib/python3/dist-packages/_pytest/setupplan.py 24 > 20 17% > /usr/lib/python3/dist-packages/_pytest/skipping.py 163 > 113 31% > /usr/lib/python3/dist-packages/_pytest/stash.py 36 > 25 31% > /usr/lib/python3/dist-packages/_pytest/stepwise.py 74 > 72 3% > /usr/lib/python3/dist-packages/_pytest/terminal.py 913 > 697 24% > /usr/lib/python3/dist-packages/_pytest/threadexception.py 42 > 27 36% > /usr/lib/python3/dist-packages/_pytest/tmpdir.py 156 > 90 42% > /usr/lib/python3/dist-packages/_pytest/unittest.py 251 > 241 4% > /usr/lib/python3/dist-packages/_pytest/unraisableexception.py 44 > 29 34% > /usr/lib/python3/dist-packages/_pytest/warnings.py 74 > 54 27% > /usr/lib/python3/dist-packages/mock/__init__.py 8 > 0 100% > /usr/lib/python3/dist-packages/mock/backports.py 57 > 53 7% > /usr/lib/python3/dist-packages/mock/mock.py 1558 > 670 57% > /usr/lib/python3/dist-packages/pkg_resources/extern/__init__.py 37 > 34 8% > /usr/lib/python3/dist-packages/pluggy/_callers.py 95 > 52 45% > /usr/lib/python3/dist-packages/pluggy/_hooks.py 266 > 180 32% > /usr/lib/python3/dist-packages/pluggy/_manager.py 222 > 172 23% > /usr/lib/python3/dist-packages/pluggy/_result.py 55 > 45 18% > /usr/lib/python3/dist-packages/pluggy/_tracing.py 48 > 38 21% > /usr/lib/python3/dist-packages/pytest/__init__.py 85 > 83 2% > /usr/lib/python3/dist-packages/pytest_cov/compat.py 17 > 13 24% > /usr/lib/python3/dist-packages/pytest_cov/embed.py 69 > 63 9% > /usr/lib/python3/dist-packages/pytest_cov/engine.py 250 > 229 8% > /usr/lib/python3/dist-packages/pytest_cov/plugin.py 224 > 194 13% > /usr/lib/python3/dist-packages/pytest_doctestplus/plugin.py 341 > 335 2% > /usr/lib/python3/dist-packages/pytest_mock/_util.py 19 > 9 53% > /usr/lib/python3/dist-packages/pytest_mock/plugin.py 312 > 233 25% > graphviz/__init__.py 36 > 0 100% > graphviz/_compat.py 11 > 0 100% > graphviz/_defaults.py 21 > 0 100% > graphviz/_tools.py 64 > 0 100% > graphviz/backend/__init__.py 9 > 0 100% > graphviz/backend/dot_command.py 20 > 0 100% > graphviz/backend/execute.py 62 > 0 100% > graphviz/backend/mixins.py 37 > 0 100% > graphviz/backend/piping.py 26 > 0 100% > graphviz/backend/rendering.py 82 > 0 100% > graphviz/backend/unflattening.py 21 > 0 100% > graphviz/backend/upstream_version.py 15 > 0 100% > graphviz/backend/viewing.py 34 > 0 100% > graphviz/base.py 8 > 0 100% > graphviz/copying.py 7 > 0 100% > graphviz/dot.py 132 > 0 100% > graphviz/encoding.py 22 > 0 100% > graphviz/exceptions.py 7 > 0 100% > graphviz/graphs.py 28 > 0 100% > graphviz/jupyter_integration.py 34 > 0 100% > graphviz/parameters/__init__.py 6 > 0 100% > graphviz/parameters/base.py 7 > 0 100% > graphviz/parameters/engines.py 32 > 0 100% > graphviz/parameters/formats.py 32 > 0 100% > graphviz/parameters/formatters.py 32 > 0 100% > graphviz/parameters/mixins.py 26 > 0 100% > graphviz/parameters/renderers.py 32 > 0 100% > graphviz/piping.py 39 > 0 100% > graphviz/quoting.py 59 > 0 100% > graphviz/rendering.py 40 > 0 100% > graphviz/saving.py 44 > 0 100% > graphviz/sources.py 50 > 0 100% > graphviz/unflattening.py 14 > 0 100% > tests/_common.py 26 > 2 92% > tests/backend/conftest.py 13 > 1 92% > tests/backend/test_execute.py 43 > 0 100% > tests/backend/test_piping.py 72 > 18 75% > tests/backend/test_rendering.py 103 > 0 100% > tests/backend/test_unflattening.py 20 > 0 100% > tests/backend/test_upstream_version.py 20 > 0 100% > tests/backend/test_viewing.py 20 > 1 95% > tests/conftest.py 62 > 22 65% > tests/test_all_classes.py 204 > 0 100% > tests/test_graphs.py 116 > 0 100% > tests/test_init.py 77 > 0 100% > tests/test_jupyter_integration.py 33 > 0 100% > tests/test_parameters.py 33 > 0 100% > tests/test_quoting.py 28 > 3 89% > tests/test_saving.py 10 > 0 100% > tests/test_sources.py 47 > 1 98% > tests/test_tools.py 39 > 0 100% > -------------------------------------------------------------------------------------- > TOTAL 19469 > 12482 36% > Coverage HTML written to dir htmlcov > > ============================= slowest 10 durations > ============================= > 0.06s call > .pybuild/cpython3_3.12_graphviz/build/graphviz/jupyter_integration.py::graphviz.jupyter_integration.JupyterIntegration._repr_mimebundle_ > 0.05s setup > .pybuild/cpython3_3.12_graphviz/build/tests/backend/test_piping.py::test_pipe_lines_mocked[quiet=True] > 0.05s setup > .pybuild/cpython3_3.12_graphviz/build/tests/backend/test_piping.py::test_pipe_lines_string_mocked[quiet=False] > 0.05s setup > .pybuild/cpython3_3.12_graphviz/build/tests/backend/test_piping.py::test_pipe_lines_string_mocked[quiet=True] > 0.05s call > .pybuild/cpython3_3.12_graphviz/build/graphviz/piping.py::graphviz.piping.Pipe.pipe > 0.05s setup > .pybuild/cpython3_3.12_graphviz/build/tests/backend/test_viewing.py::test_view_mocked[platform='darwin'-quiet=False] > 0.05s call > .pybuild/cpython3_3.12_graphviz/build/graphviz/backend/rendering.py::graphviz.backend.rendering.render > 0.05s setup > .pybuild/cpython3_3.12_graphviz/build/tests/backend/test_piping.py::test_pipe_lines_mocked[quiet=False] > 0.04s setup > .pybuild/cpython3_3.12_graphviz/build/tests/backend/test_viewing.py::test_view_mocked[platform='darwin'-quiet=True] > 0.04s setup > .pybuild/cpython3_3.12_graphviz/build/tests/backend/test_viewing.py::test_view_mocked[platform='linux'-quiet=False] > =========================== short test summary info > ============================ > FAILED tests/test_quoting.py::test_deprecated_escape[G] - AssertionError: > <cl... > FAILED tests/test_quoting.py::test_deprecated_escape[E] - AssertionError: > <cl... > FAILED tests/test_quoting.py::test_deprecated_escape[T] - AssertionError: > <cl... > FAILED tests/test_quoting.py::test_deprecated_escape[H] - AssertionError: > <cl... > FAILED tests/test_quoting.py::test_deprecated_escape[L] - AssertionError: > <cl... > FAILED tests/test_quoting.py::test_deprecated_escape[l] - AssertionError: > <cl... > ================= 6 failed, 340 passed, 2 deselected in 7.74s > ================== > E: pybuild pybuild:395: test: plugin distutils failed with: exit code=1: cd > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_graphviz/build; python3.12 -m pytest > -k 'not test_pipe_pipe_invalid_data_mocked' > I: pybuild base:310: cd > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_graphviz/build; python3.11 -m pytest > -k 'not test_pipe_pipe_invalid_data_mocked' > ============================= test session starts > ============================== > platform linux -- Python 3.11.7, pytest-7.4.3, pluggy-1.3.0 > rootdir: /<<PKGBUILDDIR>> > configfile: setup.cfg > plugins: cov-4.1.0, doctestplus-1.0.0, mock-3.12.0 > collected 348 items / 2 deselected / 346 selected > > graphviz/__init__.py::graphviz PASSED [ > 0%] > graphviz/_tools.py::graphviz._tools.attach PASSED [ > 0%] > graphviz/_tools.py::graphviz._tools.mapping_items PASSED [ > 0%] > graphviz/graphs.py::graphviz.graphs PASSED [ > 1%] > graphviz/jupyter_integration.py::graphviz.jupyter_integration.JupyterIntegration._repr_mimebundle_ > PASSED [ 1%] > graphviz/piping.py::graphviz.piping.Pipe.pipe PASSED [ > 1%] > graphviz/quoting.py::graphviz.quoting.a_list PASSED [ > 2%] > graphviz/quoting.py::graphviz.quoting.attr_list PASSED [ > 2%] > graphviz/quoting.py::graphviz.quoting.escape PASSED [ > 2%] > graphviz/quoting.py::graphviz.quoting.nohtml PASSED [ > 2%] > graphviz/quoting.py::graphviz.quoting.quote PASSED [ > 3%] > graphviz/quoting.py::graphviz.quoting.quote_edge PASSED [ > 3%] > graphviz/rendering.py::graphviz.rendering.Render.render PASSED [ > 3%] > graphviz/backend/piping.py::graphviz.backend.piping.pipe PASSED [ > 4%] > graphviz/backend/piping.py::graphviz.backend.piping.pipe_lines PASSED [ > 4%] > graphviz/backend/piping.py::graphviz.backend.piping.pipe_lines_string PASSED > [ 4%] > graphviz/backend/piping.py::graphviz.backend.piping.pipe_string PASSED [ > 4%] > graphviz/backend/rendering.py::graphviz.backend.rendering.get_supported_formats > PASSED [ 5%] > graphviz/backend/rendering.py::graphviz.backend.rendering.get_supported_suffixes > PASSED [ 5%] > graphviz/backend/rendering.py::graphviz.backend.rendering.infer_format PASSED > [ 5%] > graphviz/backend/rendering.py::graphviz.backend.rendering.render PASSED [ > 6%] > graphviz/backend/upstream_version.py::graphviz.backend.upstream_version.version > PASSED [ 6%] > tests/test_all_classes.py::test_copy[Graph] PASSED [ > 6%] > tests/test_all_classes.py::test_copy[Digraph] PASSED [ > 6%] > tests/test_all_classes.py::test_copy[Source] PASSED [ > 7%] > tests/test_all_classes.py::test_str[Graph] PASSED [ > 7%] > tests/test_all_classes.py::test_str[Digraph] PASSED [ > 7%] > tests/test_all_classes.py::test_str[Source] PASSED [ > 8%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Graph-engine-ValueError-unknown > engine] PASSED [ 8%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Graph-format-ValueError-unknown > format] PASSED [ 8%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Graph-renderer-ValueError-unknown > renderer] PASSED [ 8%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Graph-formatter-ValueError-unknown > formatter] PASSED [ 9%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Graph-encoding-LookupError-encoding] > PASSED [ 9%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Digraph-engine-ValueError-unknown > engine] PASSED [ 9%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Digraph-format-ValueError-unknown > format] PASSED [ 10%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Digraph-renderer-ValueError-unknown > renderer] PASSED [ 10%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Digraph-formatter-ValueError-unknown > formatter] PASSED [ 10%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Digraph-encoding-LookupError-encoding] > PASSED [ 10%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Source-engine-ValueError-unknown > engine] PASSED [ 11%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Source-format-ValueError-unknown > format] PASSED [ 11%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Source-renderer-ValueError-unknown > renderer] PASSED [ 11%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Source-formatter-ValueError-unknown > formatter] PASSED [ 12%] > tests/test_all_classes.py::test_invalid_parameter_raises_valuerror[Source-encoding-LookupError-encoding] > PASSED [ 12%] > tests/test_all_classes.py::test_encoding_none[Graph] PASSED [ > 12%] > tests/test_all_classes.py::test_encoding_none[Digraph] PASSED [ > 13%] > tests/test_all_classes.py::test_encoding_none[Source] PASSED [ > 13%] > tests/test_all_classes.py::test_render_raises_before_save[Graph-kwargs0] > PASSED [ 13%] > tests/test_all_classes.py::test_render_raises_before_save[Digraph-kwargs0] > PASSED [ 13%] > tests/test_all_classes.py::test_render_raises_before_save[Source-kwargs0] > PASSED [ 14%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Graph-kwargs0] > PASSED [ 14%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Graph-kwargs1] > PASSED [ 14%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Graph-kwargs2] > PASSED [ 15%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Graph-kwargs3] > PASSED [ 15%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Digraph-kwargs0] > PASSED [ 15%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Digraph-kwargs1] > PASSED [ 15%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Digraph-kwargs2] > PASSED [ 16%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Digraph-kwargs3] > PASSED [ 16%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Source-kwargs0] > PASSED [ 16%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Source-kwargs1] > PASSED [ 17%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Source-kwargs2] > PASSED [ 17%] > tests/test_all_classes.py::test_render_raises_before_save_mocked[Source-kwargs3] > PASSED [ 17%] > tests/test_all_classes.py::test_render_mocked[Graph] PASSED [ > 17%] > tests/test_all_classes.py::test_render_mocked[Digraph] PASSED [ > 18%] > tests/test_all_classes.py::test_render_mocked[Source] PASSED [ > 18%] > tests/test_all_classes.py::test_render_outfile_mocked[Graph] PASSED [ > 18%] > tests/test_all_classes.py::test_render_outfile_mocked[Digraph] PASSED [ > 19%] > tests/test_all_classes.py::test_render_outfile_mocked[Source] PASSED [ > 19%] > tests/test_all_classes.py::test_format_renderer_formatter_mocked[quiet=False-Graph] > PASSED [ 19%] > tests/test_all_classes.py::test_format_renderer_formatter_mocked[quiet=False-Digraph] > PASSED [ 19%] > tests/test_all_classes.py::test_format_renderer_formatter_mocked[quiet=False-Source] > PASSED [ 20%] > tests/test_all_classes.py::test_format_renderer_formatter_mocked[quiet=True-Graph] > PASSED [ 20%] > tests/test_all_classes.py::test_format_renderer_formatter_mocked[quiet=True-Digraph] > PASSED [ 20%] > tests/test_all_classes.py::test_format_renderer_formatter_mocked[quiet=True-Source] > PASSED [ 21%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Graph-None] > PASSED [ 21%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Graph-False] > PASSED [ 21%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Graph-True] > PASSED [ 21%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Graph-0] > PASSED [ 22%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Graph-1] > PASSED [ 22%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Graph-2] > PASSED [ 22%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Digraph-None] > PASSED [ 23%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Digraph-False] > PASSED [ 23%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Digraph-True] > PASSED [ 23%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Digraph-0] > PASSED [ 23%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Digraph-1] > PASSED [ 24%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Digraph-2] > PASSED [ 24%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Source-None] > PASSED [ 24%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Source-False] > PASSED [ 25%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Source-True] > PASSED [ 25%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Source-0] > PASSED [ 25%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Source-1] > PASSED [ 26%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=False-Source-2] > PASSED [ 26%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Graph-None] > PASSED [ 26%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Graph-False] > PASSED [ 26%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Graph-True] > PASSED [ 27%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Graph-0] PASSED > [ 27%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Graph-1] PASSED > [ 27%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Graph-2] PASSED > [ 28%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Digraph-None] > PASSED [ 28%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Digraph-False] > PASSED [ 28%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Digraph-True] > PASSED [ 28%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Digraph-0] > PASSED [ 29%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Digraph-1] > PASSED [ 29%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Digraph-2] > PASSED [ 29%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Source-None] > PASSED [ 30%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Source-False] > PASSED [ 30%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Source-True] > PASSED [ 30%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Source-0] > PASSED [ 30%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Source-1] > PASSED [ 31%] > tests/test_all_classes.py::test_neato_no_op_mocked[quiet=True-Source-2] > PASSED [ 31%] > tests/test_all_classes.py::test_save_mocked[Graph] PASSED [ > 31%] > tests/test_all_classes.py::test_save_mocked[Digraph] PASSED [ > 32%] > tests/test_all_classes.py::test_save_mocked[Source] PASSED [ > 32%] > tests/test_all_classes.py::test_pipe_mocked[quiet=False-Graph-None] PASSED [ > 32%] > tests/test_all_classes.py::test_pipe_mocked[quiet=False-Graph-ascii] PASSED [ > 32%] > tests/test_all_classes.py::test_pipe_mocked[quiet=False-Graph-utf-8] PASSED [ > 33%] > tests/test_all_classes.py::test_pipe_mocked[quiet=False-Digraph-None] PASSED > [ 33%] > tests/test_all_classes.py::test_pipe_mocked[quiet=False-Digraph-ascii] PASSED > [ 33%] > tests/test_all_classes.py::test_pipe_mocked[quiet=False-Digraph-utf-8] PASSED > [ 34%] > tests/test_all_classes.py::test_pipe_mocked[quiet=False-Source-None] PASSED [ > 34%] > tests/test_all_classes.py::test_pipe_mocked[quiet=False-Source-ascii] PASSED > [ 34%] > tests/test_all_classes.py::test_pipe_mocked[quiet=False-Source-utf-8] PASSED > [ 34%] > tests/test_all_classes.py::test_pipe_mocked[quiet=True-Graph-None] PASSED [ > 35%] > tests/test_all_classes.py::test_pipe_mocked[quiet=True-Graph-ascii] PASSED [ > 35%] > tests/test_all_classes.py::test_pipe_mocked[quiet=True-Graph-utf-8] PASSED [ > 35%] > tests/test_all_classes.py::test_pipe_mocked[quiet=True-Digraph-None] PASSED [ > 36%] > tests/test_all_classes.py::test_pipe_mocked[quiet=True-Digraph-ascii] PASSED > [ 36%] > tests/test_all_classes.py::test_pipe_mocked[quiet=True-Digraph-utf-8] PASSED > [ 36%] > tests/test_all_classes.py::test_pipe_mocked[quiet=True-Source-None] PASSED [ > 36%] > tests/test_all_classes.py::test_pipe_mocked[quiet=True-Source-ascii] PASSED [ > 37%] > tests/test_all_classes.py::test_pipe_mocked[quiet=True-Source-utf-8] PASSED [ > 37%] > tests/test_all_classes.py::test_pipe_lines_mocked[Graph] PASSED [ > 37%] > tests/test_all_classes.py::test_pipe_lines_mocked[Digraph] PASSED [ > 38%] > tests/test_all_classes.py::test_pipe_lines_mocked[Source] PASSED [ > 38%] > tests/test_all_classes.py::test_pipe_lines_called_process_error[Graph] PASSED > [ 38%] > tests/test_all_classes.py::test_pipe_lines_called_process_error[Digraph] > PASSED [ 39%] > tests/test_all_classes.py::test_pipe_lines_called_process_error[Source] > PASSED [ 39%] > tests/test_all_classes.py::test_pipe_lines_called_process_error_mocked[Graph] > PASSED [ 39%] > tests/test_all_classes.py::test_pipe_lines_called_process_error_mocked[Digraph] > PASSED [ 39%] > tests/test_all_classes.py::test_pipe_lines_called_process_error_mocked[Source] > PASSED [ 40%] > tests/test_all_classes.py::test_repr_mimebundle_image_svg_xml_mocked[Graph] > PASSED [ 40%] > tests/test_all_classes.py::test_repr_mimebundle_image_svg_xml_mocked[Digraph] > PASSED [ 40%] > tests/test_all_classes.py::test_repr_mimebundle_image_svg_xml_mocked[Source] > PASSED [ 41%] > tests/test_all_classes.py::test_repr_mimebundle_image_png_mocked[Graph] > PASSED [ 41%] > tests/test_all_classes.py::test_repr_mimebundle_image_png_mocked[Digraph] > PASSED [ 41%] > tests/test_all_classes.py::test_repr_mimebundle_image_png_mocked[Source] > PASSED [ 41%] > tests/test_all_classes.py::test_repr_mimebundle_image_jpeg_mocked[Graph] > PASSED [ 42%] > tests/test_all_classes.py::test_repr_mimebundle_image_jpeg_mocked[Digraph] > PASSED [ 42%] > tests/test_all_classes.py::test_repr_mimebundle_image_jpeg_mocked[Source] > PASSED [ 42%] > tests/test_all_classes.py::test_unflatten[Graph] PASSED [ > 43%] > tests/test_all_classes.py::test_unflatten[Digraph] PASSED [ > 43%] > tests/test_all_classes.py::test_unflatten[Source] PASSED [ > 43%] > tests/test_all_classes.py::test_unflatten_mocked[Graph] PASSED [ > 43%] > tests/test_all_classes.py::test_unflatten_mocked[Digraph] PASSED [ > 44%] > tests/test_all_classes.py::test_unflatten_mocked[Source] PASSED [ > 44%] > tests/test_all_classes.py::test_view_mocked[Graph] PASSED [ > 44%] > tests/test_all_classes.py::test_view_mocked[Digraph] PASSED [ > 45%] > tests/test_all_classes.py::test_view_mocked[Source] PASSED [ > 45%] > tests/test_all_classes.py::test__view_unknown_platform[Graph] PASSED [ > 45%] > tests/test_all_classes.py::test__view_unknown_platform[Digraph] PASSED [ > 45%] > tests/test_all_classes.py::test__view_unknown_platform[Source] PASSED [ > 46%] > tests/test_all_classes.py::test__view_mocked[platform='darwin'-Graph] PASSED > [ 46%] > tests/test_all_classes.py::test__view_mocked[platform='darwin'-Digraph] > PASSED [ 46%] > tests/test_all_classes.py::test__view_mocked[platform='darwin'-Source] PASSED > [ 47%] > tests/test_all_classes.py::test__view_mocked[platform='freebsd'-Graph] PASSED > [ 47%] > tests/test_all_classes.py::test__view_mocked[platform='freebsd'-Digraph] > PASSED [ 47%] > tests/test_all_classes.py::test__view_mocked[platform='freebsd'-Source] > PASSED [ 47%] > tests/test_all_classes.py::test__view_mocked[platform='linux'-Graph] PASSED [ > 48%] > tests/test_all_classes.py::test__view_mocked[platform='linux'-Digraph] PASSED > [ 48%] > tests/test_all_classes.py::test__view_mocked[platform='linux'-Source] PASSED > [ 48%] > tests/test_all_classes.py::test__view_mocked[platform='windows'-Graph] PASSED > [ 49%] > tests/test_all_classes.py::test__view_mocked[platform='windows'-Digraph] > PASSED [ 49%] > tests/test_all_classes.py::test__view_mocked[platform='windows'-Source] > PASSED [ 49%] > tests/test_graphs.py::test_init_filename[Graph] PASSED [ > 50%] > tests/test_graphs.py::test_init_filename[Digraph] PASSED [ > 50%] > tests/test_graphs.py::test_init_body[Graph-...-...] PASSED [ > 50%] > tests/test_graphs.py::test_init_body[Digraph-...-...] PASSED [ > 50%] > tests/test_graphs.py::test_subgraph_render[Graph-...] PASSED [ > 51%] > tests/test_graphs.py::test_subgraph_render[Digraph-...] PASSED [ > 51%] > tests/test_graphs.py::test_clear[Graph-False] PASSED [ > 51%] > tests/test_graphs.py::test_clear[Graph-True] PASSED [ > 52%] > tests/test_graphs.py::test_clear[Digraph-False] PASSED [ > 52%] > tests/test_graphs.py::test_clear[Digraph-True] PASSED [ > 52%] > tests/test_graphs.py::test_iter_subgraph_strict[Graph] PASSED [ > 52%] > tests/test_graphs.py::test_iter_subgraph_strict[Digraph] PASSED [ > 53%] > tests/test_graphs.py::test_iter_strict[Graph-...] PASSED [ > 53%] > tests/test_graphs.py::test_iter_strict[Digraph-...] PASSED [ > 53%] > tests/test_graphs.py::test_attr_invalid_kw[Graph] PASSED [ > 54%] > tests/test_graphs.py::test_attr_invalid_kw[Digraph] PASSED [ > 54%] > tests/test_graphs.py::test_attr_kw_none[Graph-...] PASSED [ > 54%] > tests/test_graphs.py::test_attr_kw_none[Digraph-...] PASSED [ > 54%] > tests/test_graphs.py::test_escaped_quotes_and_escapes[Graph-...] PASSED [ > 55%] > tests/test_graphs.py::test_escaped_quotes_and_escapes[Digraph-...] PASSED [ > 55%] > tests/test_graphs.py::test_subgraph_graph_none[Graph-...] PASSED [ > 55%] > tests/test_graphs.py::test_subgraph_graph_none[Digraph-...] PASSED [ > 56%] > tests/test_graphs.py::test_subgraph_graph_notsole[Graph] PASSED [ > 56%] > tests/test_graphs.py::test_subgraph_graph_notsole[Digraph] PASSED [ > 56%] > tests/test_graphs.py::test_subgraph_mixed[Graph, Digraph] PASSED [ > 56%] > tests/test_graphs.py::test_subgraph_mixed[Digraph, Graph] PASSED [ > 57%] > tests/test_graphs.py::test_subgraph_reflexive[Graph-...] PASSED [ > 57%] > tests/test_graphs.py::test_subgraph_reflexive[Digraph-...] PASSED [ > 57%] > tests/test_graphs.py::test_subgraph PASSED [ > 58%] > tests/test_graphs.py::test_label_html PASSED [ > 58%] > tests/test_init.py::test_set_default_engine_invalid PASSED [ > 58%] > tests/test_init.py::test_set_default_format_invalid PASSED [ > 58%] > tests/test_init.py::test_set_default_engine PASSED [ > 59%] > tests/test_init.py::test_set_default_format PASSED [ > 59%] > tests/test_init.py::test_set_jupyter_format PASSED [ > 59%] > tests/test_jupyter_integration.py::test_get_jupyter_format_mimetype_invalid_raises_unknown > PASSED [ 60%] > tests/test_jupyter_integration.py::test_get_jupyter_mimetype_format_normalizes > PASSED [ 60%] > tests/test_jupyter_integration.py::test_get_jupyter_mimetype_format_raises_unsupported > PASSED [ 60%] > tests/test_jupyter_integration.py::test_repr_image_svg_xml_encoding PASSED [ > 60%] > tests/test_jupyter_integration.py::test_repr_image_svg_xml_encoding_mocked[utf-8] > PASSED [ 61%] > tests/test_jupyter_integration.py::test_repr_image_svg_xml_encoding_mocked[ascii] > PASSED [ 61%] > tests/test_jupyter_integration.py::test_repr_image_svg_xml_encoding_mocked[latin1] > PASSED [ 61%] > tests/test_parameters.py::test_parameters[Graph] PASSED [ > 62%] > tests/test_parameters.py::test_parameters[Digraph] PASSED [ > 62%] > tests/test_parameters.py::test_parameters[Source] PASSED [ > 62%] > tests/test_parameters.py::test_verify_parameter_raises_unknown[verify_engine] > PASSED [ 63%] > tests/test_parameters.py::test_verify_parameter_raises_unknown[verify_format] > PASSED [ 63%] > tests/test_parameters.py::test_verify_parameter_raises_unknown[verify_renderer] > PASSED [ 63%] > tests/test_parameters.py::test_verify_parameter_raises_unknown[verify_formatter] > PASSED [ 63%] > tests/test_parameters.py::test_verify_parameter_none_required_false_passes[verify_engine] > PASSED [ 64%] > tests/test_parameters.py::test_verify_parameter_none_required_false_passes[verify_format] > PASSED [ 64%] > tests/test_parameters.py::test_verify_parameter_none_required_false_passes[verify_renderer] > PASSED [ 64%] > tests/test_parameters.py::test_verify_parameter_none_required_false_passes[verify_formatter] > PASSED [ 65%] > tests/test_parameters.py::test_verify_parameter_none_required_raises_missing[verify_engine] > PASSED [ 65%] > tests/test_parameters.py::test_verify_parameter_none_required_raises_missing[verify_format] > PASSED [ 65%] > tests/test_parameters.py::test_verify_parameter_none_required_raises_missing[verify_renderer] > PASSED [ 65%] > tests/test_parameters.py::test_verify_parameter_none_required_raises_missing[verify_formatter] > PASSED [ 66%] > tests/test_quoting.py::test_deprecated_escape[G] PASSED [ > 66%] > tests/test_quoting.py::test_deprecated_escape[E] PASSED [ > 66%] > tests/test_quoting.py::test_deprecated_escape[T] PASSED [ > 67%] > tests/test_quoting.py::test_deprecated_escape[H] PASSED [ > 67%] > tests/test_quoting.py::test_deprecated_escape[L] PASSED [ > 67%] > tests/test_quoting.py::test_deprecated_escape[l] PASSED [ > 67%] > tests/test_quoting.py::test_quote["spam"-"\\"spam\\""] PASSED [ > 68%] > tests/test_quoting.py::test_quote[node-"node"] PASSED [ > 68%] > tests/test_quoting.py::test_quote[EDGE-"EDGE"] PASSED [ > 68%] > tests/test_quoting.py::test_quote[Graph-"Graph"] PASSED [ > 69%] > tests/test_quoting.py::test_quote[\\G \\N \\E \\T \\H \\L-"\\G \\N \\E \\T > \\H \\L"] PASSED [ 69%] > tests/test_quoting.py::test_quote[\\n \\l \\r-"\\n \\l \\r"] PASSED [ > 69%] > tests/test_quoting.py::test_quote[\r\n-"\r\n"] PASSED [ > 69%] > tests/test_quoting.py::test_quote[\\\\n-"\\\\n"] PASSED [ > 70%] > tests/test_quoting.py::test_quote[\u0665.\u0660-"\u0665.\u0660"] PASSED [ > 70%] > tests/test_quoting.py::test_quote[\\"spam-"\\"spam"] PASSED [ > 70%] > tests/test_quoting.py::test_quote[\\\\"spam-"\\\\\\"spam"] PASSED [ > 71%] > tests/test_quoting.py::test_quote[\\\\\\"spam-"\\\\\\"spam"] PASSED [ > 71%] > tests/test_quoting.py::test_quote[\\\\\\\\"spam-"\\\\\\\\\\"spam"] PASSED [ > 71%] > tests/test_quoting.py::test_attr_list[attributes0- [spam=eggs]] PASSED [ > 71%] > tests/test_quoting.py::test_attr_list[attributes1- [spam=eggs]] PASSED [ > 72%] > tests/test_quoting.py::test_nohtml[spam-spam-spam] PASSED [ > 72%] > tests/test_quoting.py::test_nohtml[<>-*-<>-<>-*-<>-"<>-*-<>"] PASSED [ > 72%] > tests/test_saving.py::test_saves_source_from_file PASSED [ > 73%] > tests/test_sources.py::test_source_parameter[engine] PASSED [ > 73%] > tests/test_sources.py::test_source_parameter[format] PASSED [ > 73%] > tests/test_sources.py::test_source_parameter[encoding] PASSED [ > 73%] > tests/test_sources.py::test_init PASSED [ > 74%] > tests/test_sources.py::test_init_filename PASSED [ > 74%] > tests/test_sources.py::test_filepath PASSED [ > 74%] > tests/test_sources.py::test_from_file PASSED [ > 75%] > tests/test_sources.py::test_source_iter PASSED [ > 75%] > tests/test_tools.py::test_mkdirs_invalid PASSED [ > 75%] > tests/test_tools.py::test_mkdirs PASSED [ > 76%] > tests/test_tools.py::test_deprecate_positional_args[FutureWarning- > third='third' ] PASSED [ 76%] > tests/test_tools.py::test_deprecate_positional_args[DeprecationWarning- > third='third' ] PASSED [ 76%] > tests/test_tools.py::test_deprecate_positional_args[PendingDeprecationWarning- > third='third' ] PASSED [ 76%] > tests/test_tools.py::test_deprecate_positional_args[None-None] PASSED [ > 77%] > tests/backend/test_execute.py::test_missing_executable[render-args0] PASSED [ > 77%] > tests/backend/test_execute.py::test_missing_executable[pipe-args1] PASSED [ > 77%] > tests/backend/test_execute.py::test_missing_executable[unflatten-args2] > PASSED [ 78%] > tests/backend/test_execute.py::test_missing_executable[version-args3] PASSED > [ 78%] > tests/backend/test_execute.py::test_run_check_oserror PASSED [ > 78%] > tests/backend/test_execute.py::test_run_check_called_process_error_mocked[quiet=False] > PASSED [ 78%] > tests/backend/test_execute.py::test_run_check_called_process_error_mocked[quiet=True] > PASSED [ 79%] > tests/backend/test_execute.py::test_run_check_input_lines_mocked PASSED [ > 79%] > tests/backend/test_piping.py::test_pipe_invalid_data[quiet=False] PASSED [ > 79%] > tests/backend/test_piping.py::test_pipe_invalid_data[quiet=True] PASSED [ > 80%] > tests/backend/test_piping.py::test_pipe[dot-svg-None-None-(?s)^<\\?xml > .+</svg>\\s*$] PASSED [ 80%] > tests/backend/test_piping.py::test_pipe[dot-ps-ps-core-%!PS-] PASSED [ > 80%] > tests/backend/test_piping.py::test_pipe[sfdp-svg-None-None-(?s)^<\\?xml > .+</svg>\\s*$] PASSED [ 80%] > tests/backend/test_piping.py::test_pipe_mocked[quiet=False] PASSED [ > 81%] > tests/backend/test_piping.py::test_pipe_mocked[quiet=True] PASSED [ > 81%] > tests/backend/test_piping.py::test_pipe_string_mocked[quiet=False] PASSED [ > 81%] > tests/backend/test_piping.py::test_pipe_string_mocked[quiet=True] PASSED [ > 82%] > tests/backend/test_piping.py::test_pipe_lines_mocked[quiet=False] PASSED [ > 82%] > tests/backend/test_piping.py::test_pipe_lines_mocked[quiet=True] PASSED [ > 82%] > tests/backend/test_piping.py::test_pipe_lines_string_mocked[quiet=False] > PASSED [ 82%] > tests/backend/test_piping.py::test_pipe_lines_string_mocked[quiet=True] > PASSED [ 83%] > tests/backend/test_rendering.py::test_render_missing_file[quiet=False] PASSED > [ 83%] > tests/backend/test_rendering.py::test_render_missing_file[quiet=True] PASSED > [ 83%] > tests/backend/test_rendering.py::test_render_unknown_parameter_raises[args0-ValueError-unknown > engine] PASSED [ 84%] > tests/backend/test_rendering.py::test_render_unknown_parameter_raises[args1-ValueError-unknown > format] PASSED [ 84%] > tests/backend/test_rendering.py::test_render_unknown_parameter_raises[args2-ValueError-unknown > renderer] PASSED [ 84%] > tests/backend/test_rendering.py::test_render_unknown_parameter_raises[args3-RequiredArgumentError-without > renderer] PASSED [ 84%] > tests/backend/test_rendering.py::test_render_unknown_parameter_raises[args4-ValueError-unknown > formatter] PASSED [ 85%] > tests/backend/test_rendering.py::test_render[dot-pdf-None-None-pdf] PASSED [ > 85%] > tests/backend/test_rendering.py::test_render[dot-plain-dot-core-core.dot.plain] > PASSED [ 85%] > tests/backend/test_rendering.py::test_render_img PASSED [ > 86%] > tests/backend/test_rendering.py::test_render_outfile_differnt_parent PASSED [ > 86%] > tests/backend/test_rendering.py::test_render_mocked[quiet=False-None] PASSED > [ 86%] > tests/backend/test_rendering.py::test_render_mocked[quiet=False-dot_sources] > PASSED [ 86%] > tests/backend/test_rendering.py::test_render_mocked[quiet=True-None] PASSED [ > 87%] > tests/backend/test_rendering.py::test_render_mocked[quiet=True-dot_sources] > PASSED [ 87%] > tests/backend/test_rendering.py::test_render_raises_mocked[args0-kwargs0-RequiredArgumentError-filepath: > \\(required] PASSED [ 87%] > tests/backend/test_rendering.py::test_render_raises_mocked[args1-kwargs1-RequiredArgumentError-filepath: > \\(required] PASSED [ 88%] > tests/backend/test_rendering.py::test_render_raises_mocked[args2-kwargs2-RequiredArgumentError-format: > \\(required] PASSED [ 88%] > tests/backend/test_rendering.py::test_render_raises_mocked[args3-kwargs3-RequiredArgumentError-filepath: > \\(required] PASSED [ 88%] > tests/backend/test_rendering.py::test_render_raises_mocked[args4-kwargs4-ValueError-outfile > 'spam\\.gv' must be different from input file 'spam\\.gv'] PASSED [ 89%] > tests/backend/test_rendering.py::test_render_raises_mocked[args5-kwargs5-ValueError-overwrite_filepath > cannot be combined with raise_if_result_exists] PASSED [ 89%] > tests/backend/test_rendering.py::test_render_raises_mocked[args6-kwargs6-FileExistsError-output > file exists: 'spam.png'] PASSED [ 89%] > tests/backend/test_rendering.py::test_get_outfile[spam.gv-kwargs0-spam.gv.pdf] > PASSED [ 89%] > tests/backend/test_rendering.py::test_get_outfile[spam.gv-kwargs1-spam.gv.dot.plain] > PASSED [ 90%] > tests/backend/test_rendering.py::test_get_filepath[spam.pdf-spam.gv] PASSED [ > 90%] > tests/backend/test_rendering.py::test_get_filepath[spam-spam.gv] PASSED [ > 90%] > tests/backend/test_rendering.py::test_get_format[spam.gv.pdf-None-pdf] PASSED > [ 91%] > tests/backend/test_rendering.py::test_get_format[spam.jpeg-None-jpeg] PASSED > [ 91%] > tests/backend/test_rendering.py::test_get_format[spam.SVG-None-svg] PASSED [ > 91%] > tests/backend/test_rendering.py::test_get_format[spam.pdf-None-pdf] PASSED [ > 91%] > tests/backend/test_rendering.py::test_get_format[spam.pdf-pdf-pdf] PASSED [ > 92%] > 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 [ 92%] > 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 [ 92%] > tests/backend/test_rendering.py::test_get_format_warns[spam-svg-svg-UnknownSuffixWarning-unknown > outfile suffix '' \\(expected: '\\.svg'\\)] PASSED [ 93%] > tests/backend/test_rendering.py::test_get_format_warns[spam.peng-png-png-UnknownSuffixWarning-unknown > outfile suffix '.peng' \\(expected: '\\.png'\\)] PASSED [ 93%] > tests/backend/test_rendering.py::test_get_format_warns[spam-pdf-pdf-UnknownSuffixWarning-unknown > outfile suffix '' \\(expected: '\\.pdf'\\)] PASSED [ 93%] > tests/backend/test_rendering.py::test_get_format_raises[spam-RequiredArgumentError-cannot > infer rendering format from suffix '' of outfile: 'spam'] PASSED [ 93%] > tests/backend/test_rendering.py::test_get_format_raises[spam.peng-RequiredArgumentError-cannot > infer rendering format from suffix '.peng' of outfile: 'spam.peng'] PASSED [ > 94%] > tests/backend/test_rendering.py::test_get_format_raises[spam.wav-RequiredArgumentError-cannot > infer rendering format from suffix '.wav' of outfile: 'spam.wav'] PASSED [ > 94%] > tests/backend/test_unflattening.py::test_unflatten_stagger_missing PASSED [ > 94%] > 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 [ 95%] > tests/backend/test_unflattening.py::test_unflatten_mocked PASSED [ > 95%] > tests/backend/test_upstream_version.py::test_version PASSED [ > 95%] > tests/backend/test_upstream_version.py::test_version_mocked[dot - graphviz > version 1.2.3 (mocked)-expected0] PASSED [ 95%] > tests/backend/test_upstream_version.py::test_version_mocked[dot - graphviz > version 2.43.20190912.0211 (20190912.0211)\n-expected1] PASSED [ 96%] > tests/backend/test_upstream_version.py::test_version_mocked[dot - graphviz > version 2.44.2~dev.20200927.0217 (20200927.0217)\n-expected2] PASSED [ 96%] > tests/backend/test_upstream_version.py::test_version_mocked[dot - graphviz > version 2.44.1 (mocked)\n-expected3] PASSED [ 96%] > tests/backend/test_upstream_version.py::test_version_mocked[dot - graphviz > version 2.44.2~dev.20200704.1652 (mocked)\n-expected4] PASSED [ 97%] > tests/backend/test_upstream_version.py::test_version_parsefail_mocked PASSED > [ 97%] > tests/backend/test_viewing.py::test_view_unknown_platform PASSED [ > 97%] > tests/backend/test_viewing.py::test_view_mocked[platform='darwin'-quiet=False] > PASSED [ 97%] > tests/backend/test_viewing.py::test_view_mocked[platform='darwin'-quiet=True] > PASSED [ 98%] > tests/backend/test_viewing.py::test_view_mocked[platform='freebsd'-quiet=False] > PASSED [ 98%] > tests/backend/test_viewing.py::test_view_mocked[platform='freebsd'-quiet=True] > PASSED [ 98%] > tests/backend/test_viewing.py::test_view_mocked[platform='linux'-quiet=False] > PASSED [ 99%] > tests/backend/test_viewing.py::test_view_mocked[platform='linux'-quiet=True] > PASSED [ 99%] > tests/backend/test_viewing.py::test_view_mocked[platform='windows'-quiet=False] > PASSED [ 99%] > tests/backend/test_viewing.py::test_view_mocked[platform='windows'-quiet=True] > PASSED [100%] > > ---------- coverage: platform linux, python 3.11.7-final-0 ----------- > Name Stmts > Miss Cover > -------------------------------------------------------------------------------------- > /<<PKGBUILDDIR>>/conftest.py 23 2 91% > /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 100 > 95 5% > /usr/lib/python3/dist-packages/_pytest/_argcomplete.py 37 > 36 3% > /usr/lib/python3/dist-packages/_pytest/_code/code.py 724 > 695 4% > /usr/lib/python3/dist-packages/_pytest/_code/source.py 145 > 143 1% > /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py 120 > 74 38% > /usr/lib/python3/dist-packages/_pytest/_io/wcwidth.py 25 > 16 36% > /usr/lib/python3/dist-packages/_pytest/_py/path.py 947 > 942 1% > /usr/lib/python3/dist-packages/_pytest/assertion/__init__.py 86 > 73 15% > /usr/lib/python3/dist-packages/_pytest/assertion/rewrite.py 672 > 350 48% > /usr/lib/python3/dist-packages/_pytest/cacheprovider.py 322 > 274 15% > /usr/lib/python3/dist-packages/_pytest/capture.py 603 > 446 26% > /usr/lib/python3/dist-packages/_pytest/compat.py 164 > 116 29% > /usr/lib/python3/dist-packages/_pytest/config/__init__.py 890 > 702 21% > /usr/lib/python3/dist-packages/_pytest/config/argparsing.py 259 > 179 31% > /usr/lib/python3/dist-packages/_pytest/config/compat.py 38 > 18 53% > /usr/lib/python3/dist-packages/_pytest/debugging.py 230 > 221 4% > /usr/lib/python3/dist-packages/_pytest/deprecated.py 24 > 23 4% > /usr/lib/python3/dist-packages/_pytest/doctest.py 361 > 235 35% > /usr/lib/python3/dist-packages/_pytest/faulthandler.py 55 > 43 22% > /usr/lib/python3/dist-packages/_pytest/fixtures.py 826 > 409 50% > /usr/lib/python3/dist-packages/_pytest/helpconfig.py 134 > 124 7% > /usr/lib/python3/dist-packages/_pytest/junitxml.py 367 > 365 1% > /usr/lib/python3/dist-packages/_pytest/legacypath.py 216 > 188 13% > /usr/lib/python3/dist-packages/_pytest/logging.py 440 > 295 33% > /usr/lib/python3/dist-packages/_pytest/main.py 471 > 292 38% > /usr/lib/python3/dist-packages/_pytest/mark/__init__.py 129 > 85 34% > /usr/lib/python3/dist-packages/_pytest/mark/expression.py 127 > 78 39% > /usr/lib/python3/dist-packages/_pytest/mark/structures.py 272 > 193 29% > /usr/lib/python3/dist-packages/_pytest/monkeypatch.py 168 > 114 32% > /usr/lib/python3/dist-packages/_pytest/nodes.py 333 > 214 36% > /usr/lib/python3/dist-packages/_pytest/nose.py 29 > 20 31% > /usr/lib/python3/dist-packages/_pytest/pastebin.py 70 > 69 1% > /usr/lib/python3/dist-packages/_pytest/pathlib.py 416 > 288 31% > /usr/lib/python3/dist-packages/_pytest/python.py 896 > 570 36% > /usr/lib/python3/dist-packages/_pytest/python_api.py 337 > 311 8% > /usr/lib/python3/dist-packages/_pytest/python_path.py 16 > 15 6% > /usr/lib/python3/dist-packages/_pytest/recwarn.py 130 > 78 40% > /usr/lib/python3/dist-packages/_pytest/reports.py 297 > 262 12% > /usr/lib/python3/dist-packages/_pytest/runner.py 296 > 171 42% > /usr/lib/python3/dist-packages/_pytest/scope.py 39 > 29 26% > /usr/lib/python3/dist-packages/_pytest/setuponly.py 58 > 51 12% > /usr/lib/python3/dist-packages/_pytest/setupplan.py 24 > 20 17% > /usr/lib/python3/dist-packages/_pytest/skipping.py 163 > 113 31% > /usr/lib/python3/dist-packages/_pytest/stash.py 36 > 25 31% > /usr/lib/python3/dist-packages/_pytest/stepwise.py 74 > 72 3% > /usr/lib/python3/dist-packages/_pytest/terminal.py 913 > 702 23% > /usr/lib/python3/dist-packages/_pytest/threadexception.py 42 > 27 36% > /usr/lib/python3/dist-packages/_pytest/tmpdir.py 156 > 90 42% > /usr/lib/python3/dist-packages/_pytest/unittest.py 251 > 241 4% > /usr/lib/python3/dist-packages/_pytest/unraisableexception.py 44 > 29 34% > /usr/lib/python3/dist-packages/_pytest/warnings.py 74 > 54 27% > /usr/lib/python3/dist-packages/mock/__init__.py 8 > 0 100% > /usr/lib/python3/dist-packages/mock/backports.py 57 > 53 7% > /usr/lib/python3/dist-packages/mock/mock.py 1558 > 670 57% > /usr/lib/python3/dist-packages/pkg_resources/extern/__init__.py 37 > 34 8% > /usr/lib/python3/dist-packages/pluggy/_callers.py 95 > 55 42% > /usr/lib/python3/dist-packages/pluggy/_hooks.py 266 > 180 32% > /usr/lib/python3/dist-packages/pluggy/_manager.py 222 > 172 23% > /usr/lib/python3/dist-packages/pluggy/_result.py 55 > 46 16% > /usr/lib/python3/dist-packages/pluggy/_tracing.py 48 > 38 21% > /usr/lib/python3/dist-packages/pytest/__init__.py 85 > 83 2% > /usr/lib/python3/dist-packages/pytest_cov/compat.py 17 > 13 24% > /usr/lib/python3/dist-packages/pytest_cov/embed.py 69 > 63 9% > /usr/lib/python3/dist-packages/pytest_cov/engine.py 250 > 229 8% > /usr/lib/python3/dist-packages/pytest_cov/plugin.py 224 > 194 13% > /usr/lib/python3/dist-packages/pytest_doctestplus/plugin.py 341 > 335 2% > /usr/lib/python3/dist-packages/pytest_mock/_util.py 19 > 9 53% > /usr/lib/python3/dist-packages/pytest_mock/plugin.py 312 > 233 25% > graphviz/__init__.py 36 > 0 100% > graphviz/_compat.py 11 > 0 100% > graphviz/_defaults.py 21 > 0 100% > graphviz/_tools.py 64 > 0 100% > graphviz/backend/__init__.py 9 > 0 100% > graphviz/backend/dot_command.py 20 > 0 100% > graphviz/backend/execute.py 62 > 0 100% > graphviz/backend/mixins.py 37 > 0 100% > graphviz/backend/piping.py 26 > 0 100% > graphviz/backend/rendering.py 82 > 0 100% > graphviz/backend/unflattening.py 21 > 0 100% > graphviz/backend/upstream_version.py 15 > 0 100% > graphviz/backend/viewing.py 34 > 0 100% > graphviz/base.py 8 > 0 100% > graphviz/copying.py 7 > 0 100% > graphviz/dot.py 132 > 0 100% > graphviz/encoding.py 22 > 0 100% > graphviz/exceptions.py 7 > 0 100% > graphviz/graphs.py 28 > 0 100% > graphviz/jupyter_integration.py 34 > 0 100% > graphviz/parameters/__init__.py 6 > 0 100% > graphviz/parameters/base.py 7 > 0 100% > graphviz/parameters/engines.py 32 > 0 100% > graphviz/parameters/formats.py 32 > 0 100% > graphviz/parameters/formatters.py 32 > 0 100% > graphviz/parameters/mixins.py 26 > 0 100% > graphviz/parameters/renderers.py 32 > 0 100% > graphviz/piping.py 39 > 0 100% > graphviz/quoting.py 59 > 0 100% > graphviz/rendering.py 40 > 0 100% > graphviz/saving.py 44 > 0 100% > graphviz/sources.py 50 > 0 100% > graphviz/unflattening.py 14 > 0 100% > tests/_common.py 26 > 2 92% > tests/backend/conftest.py 13 > 1 92% > tests/backend/test_execute.py 43 > 0 100% > tests/backend/test_piping.py 72 > 18 75% > tests/backend/test_rendering.py 103 > 0 100% > tests/backend/test_unflattening.py 20 > 0 100% > tests/backend/test_upstream_version.py 20 > 0 100% > tests/backend/test_viewing.py 20 > 1 95% > tests/conftest.py 62 > 22 65% > tests/test_all_classes.py 204 > 0 100% > tests/test_graphs.py 116 > 0 100% > tests/test_init.py 77 > 0 100% > tests/test_jupyter_integration.py 33 > 0 100% > tests/test_parameters.py 33 > 0 100% > tests/test_quoting.py 28 > 0 100% > tests/test_saving.py 10 > 0 100% > tests/test_sources.py 47 > 1 98% > tests/test_tools.py 39 > 0 100% > -------------------------------------------------------------------------------------- > TOTAL 19387 > 12729 34% > Coverage HTML written to dir htmlcov > > > ============================= slowest 10 durations > ============================= > 0.06s call > .pybuild/cpython3_3.11_graphviz/build/graphviz/jupyter_integration.py::graphviz.jupyter_integration.JupyterIntegration._repr_mimebundle_ > 0.05s call > .pybuild/cpython3_3.11_graphviz/build/graphviz/backend/rendering.py::graphviz.backend.rendering.render > 0.05s call > .pybuild/cpython3_3.11_graphviz/build/graphviz/piping.py::graphviz.piping.Pipe.pipe > 0.04s setup > .pybuild/cpython3_3.11_graphviz/build/tests/backend/test_piping.py::test_pipe_lines_mocked[quiet=False] > 0.04s teardown > .pybuild/cpython3_3.11_graphviz/build/tests/backend/test_viewing.py::test_view_mocked[platform='windows'-quiet=True] > 0.04s setup > .pybuild/cpython3_3.11_graphviz/build/tests/backend/test_piping.py::test_pipe_lines_mocked[quiet=True] > 0.04s setup > .pybuild/cpython3_3.11_graphviz/build/tests/backend/test_viewing.py::test_view_mocked[platform='linux'-quiet=True] > 0.04s setup > .pybuild/cpython3_3.11_graphviz/build/tests/backend/test_viewing.py::test_view_mocked[platform='darwin'-quiet=True] > 0.04s setup > .pybuild/cpython3_3.11_graphviz/build/tests/backend/test_viewing.py::test_view_mocked[platform='darwin'-quiet=False] > 0.04s setup > .pybuild/cpython3_3.11_graphviz/build/tests/backend/test_piping.py::test_pipe_lines_string_mocked[quiet=False] > ====================== 346 passed, 2 deselected in 7.66s > ======================= > dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 > 3.11" returned exit code 13 The full build log is available from: http://qa-logs.debian.net/2023/12/12/python-graphviz_0.20.1-2_unstable.log All bugs filed during this archive rebuild are listed at: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20231212;users=lu...@debian.org or: https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20231212&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results A list of current common problems and possible solutions is available at http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute! If you reassign this bug to another package, please mark it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects If you fail to reproduce this, please provide a build log and diff it with mine so that we can identify if something relevant changed in the meantime.