Your message dated Wed, 03 Jan 2024 21:07:09 +0000
with message-id <e1rl8sd-007zuf...@fasolo.debian.org>
and subject line Bug#1058404: fixed in python-graphviz 0.20.1+20240103-1
has caused the Debian Bug report #1058404,
regarding python-graphviz: FTBFS: dh_auto_test: error: pybuild --test 
--test-pytest -i python{version} -p "3.12 3.11" returned exit code 13
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1058404: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1058404
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
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.

--- End Message ---
--- Begin Message ---
Source: python-graphviz
Source-Version: 0.20.1+20240103-1
Done: Alexandre Detiste <tc...@debian.org>

We believe that the bug you reported is fixed in the latest version of
python-graphviz, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1058...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Alexandre Detiste <tc...@debian.org> (supplier of updated python-graphviz 
package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Wed, 03 Jan 2024 21:09:04 +0100
Source: python-graphviz
Architecture: source
Version: 0.20.1+20240103-1
Distribution: unstable
Urgency: medium
Maintainer: Diane Trout <di...@ghic.org>
Changed-By: Alexandre Detiste <tc...@debian.org>
Closes: 1056473 1058404 1058968
Changes:
 python-graphviz (0.20.1+20240103-1) unstable; urgency=medium
 .
   * Team upload.
   * New upstream snapshot 0.20.1+20240103 to support Python 3.12
     (Closes: #1056473, #1058404)
   * remove obsolete dependencies on python3-mock & python3-unittest2
     (Closes: #1058968)
   * set "Rules-Requires-Root: no"
Checksums-Sha1:
 0ff6658df9fb7ca7a2d748e3f0925096b955eb73 2418 
python-graphviz_0.20.1+20240103-1.dsc
 4474c410119cc38725837234d897b87992b03056 190230 
python-graphviz_0.20.1+20240103.orig.tar.gz
 fe4705c1dcddb4daea91107427052adfaf0677b0 3464 
python-graphviz_0.20.1+20240103-1.debian.tar.xz
 8f5ebbf789ac15f3295e0750341430eb90253e2c 10031 
python-graphviz_0.20.1+20240103-1_source.buildinfo
Checksums-Sha256:
 03d56709fa007a07a78f8981d63572abe52410d45a48683377d148ab0748e371 2418 
python-graphviz_0.20.1+20240103-1.dsc
 4ff335915c6bfe21b2ec5c1bfadc38c17c07c47cd5a605212c639dda39f25ffe 190230 
python-graphviz_0.20.1+20240103.orig.tar.gz
 0bf55e35011d375b9fc7f17faaf3d003c88d581615878cb80211f205a08fd572 3464 
python-graphviz_0.20.1+20240103-1.debian.tar.xz
 7d1f95e344ee329ca7bd888e78dbb8444e432403987579a8c19d17bfcfc64dc7 10031 
python-graphviz_0.20.1+20240103-1_source.buildinfo
Files:
 cb128680bf2700192a75fefc2640aa37 2418 python optional 
python-graphviz_0.20.1+20240103-1.dsc
 f8de1348f8ac43bcd1b8ad817962078b 190230 python optional 
python-graphviz_0.20.1+20240103.orig.tar.gz
 2c80a681b7477d53b24df17e7f1e7777 3464 python optional 
python-graphviz_0.20.1+20240103-1.debian.tar.xz
 3279508d709ac267426022c3e4cbdc15 10031 python optional 
python-graphviz_0.20.1+20240103-1_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJFBAEBCgAvFiEEj23hBDd/OxHnQXSHMfMURUShdBoFAmWVwtURHHRjaGV0QGRl
Ymlhbi5vcmcACgkQMfMURUShdBpeeg//cQri0zdcKYrToGjR8hJZu5AAH21Kd2Oa
2c8l020sTuTfV33X9QPK39R6sbFlN5jOvS1T3Jx07dCkilCn/Qd00Q7YQ2/rzfCC
HSCyAw8DoOah/f1aRMvpCG79PI8HtGF3PDA8sp2PBBQC56MDdxDmMs44ekt9gwkA
7NOHL0Af2bvnkPeKd+/NMrC/HsUrSR4ElbK4UQUIMx9z6vhfgTHpE8AZ7HBRg+6r
0/QWQSsTrW3YBA6GBfjnVmO5RrUawuq+zI/z4a9U7a1YfmHBG+L7WPaZ/VlMwMag
iwn3EJiapVmLhjQPlVLU6ab1/89XNVanvfQzOl0lm7LneEwb2pD4q433roD7Jtrs
bM4wlHNBnV+VelD7Kph5fzxUanxWntSEe6STpI9unCWm41lxa5uvQwyMPd56bmVK
W0A91CFvAuqxREaCTuB90I8V+rFrTA5qFQr+nBewLrAyAMdbq7zECvboA3yApo5O
kERijUvRaxIRUPyIBRXgIkIyCopzW28uHfwOm9myv1/INDQtMsHdJCNY3tufb4Hi
eDQ042qEpuy3XKyChirobsQzQh8yeAUG7cPxkSqSBM3LDxBFlH2yo1qIbZQuRT5F
TgXkGsekMQvuDDQtXIDqcKeRKxIrQKCTRQd1jJVU/DgPSuQfNLq23xCyaqhY5AhB
V/7aWXr5Ho4=
=gyKa
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to