From 4a6ea4f30f96fc2c3d4eb88343423858ec3c4d442ea2f888f3c43f70c82ebab8 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Mon, 13 Dec 2021 18:44:26 +0000 Subject: [PATCH] Accepting request 940278 from home:dimstar:Factory - Add noto-sans-fonts: in order to have a reliable test suite with pango 1.50, we need to have some fonts available. - Add python-graphviz-pytest.patch: Allow to run pytest directly, instead of run-tests.py. Allows us to further use %%pytest without workarounds. Patch will be part of the next version. - Update to version 0.19.1: + Fix undecoded CalledProcessError.stdout and .stderr when .pipe() call with an encoding different from self.encoding fails. + Fix missing project root conftest.py in source distribution. + Extend examples/graphviz-escapes.ipynb. + Improve test coverage. + Increase build scripts verbosity. - Update to version 0.19: + Add PendingDeprecationWarning to calls using positional arguments that will be deprecated in a later version. + Add keyword-only outfile argument to .render() and stand-alone graphviz.render(). + Add graphviz.set_jupyter_format() to set the output format used by the Jupyter visualization of graphviz.Graph, graphviz.Digraph, and graphviz.Source. + Add keyword-only raise_if_result_exists argument to .render() and stand-alone graphviz.render(). - For all intermediate releases between 0.14.1 and 0.19, please see the packaged CHANGES.txt. OBS-URL: https://build.opensuse.org/request/show/940278 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-graphviz?expand=0&rev=24 --- graphviz-0.14.1.zip | 3 -- graphviz-0.19.1.zip | 3 ++ python-graphviz-pytest.patch | 75 ++++++++++++++++++++++++++++++++++++ python-graphviz.changes | 37 ++++++++++++++++++ python-graphviz.spec | 17 ++++---- 5 files changed, 123 insertions(+), 12 deletions(-) delete mode 100644 graphviz-0.14.1.zip create mode 100644 graphviz-0.19.1.zip create mode 100644 python-graphviz-pytest.patch diff --git a/graphviz-0.14.1.zip b/graphviz-0.14.1.zip deleted file mode 100644 index 629c7bd..0000000 --- a/graphviz-0.14.1.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f5aad52a652c06825dcc5ee018d920fca26aef339386866094597fb3f2f222ce -size 183737 diff --git a/graphviz-0.19.1.zip b/graphviz-0.19.1.zip new file mode 100644 index 0000000..3b51d8b --- /dev/null +++ b/graphviz-0.19.1.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09ed0cde452d015fe77c4845a210eb642f28d245f5bc250d4b97808cb8f49078 +size 247779 diff --git a/python-graphviz-pytest.patch b/python-graphviz-pytest.patch new file mode 100644 index 0000000..254ae35 --- /dev/null +++ b/python-graphviz-pytest.patch @@ -0,0 +1,75 @@ +From 961dbdd607399e264a752a73df874f686538d949 Mon Sep 17 00:00:00 2001 +From: Sebastian Bank +Date: Mon, 13 Dec 2021 10:53:45 +0100 +Subject: [PATCH] move doctest +NO_EXE definition/setup to conftest.py + +- see #152 +--- + conftest.py | 16 +++++++++++++++- + run-tests.py | 17 ++--------------- + 2 files changed, 17 insertions(+), 16 deletions(-) + +Index: graphviz-0.19.1/conftest.py +=================================================================== +--- graphviz-0.19.1.orig/conftest.py ++++ graphviz-0.19.1/conftest.py +@@ -1,6 +1,21 @@ + """pytest command line options and doctest namespace.""" + + import pytest ++import doctest ++import unittest.mock ++ ++NO_EXE = doctest.register_optionflag('NO_EXE') ++ ++class NoExeChecker(doctest.OutputChecker): # noqa: E302 ++ ++ def check_output(self, want, got, optionflags, *args, **kwargs) -> bool: ++ if optionflags & NO_EXE: ++ return True ++ return super().check_output(want, got, optionflags, *args, **kwargs) ++ ++unittest.mock.patch.object(doctest, 'OutputChecker', new=NoExeChecker).start() # noqa: E305 ++ ++import pytest # noqa: E402 + + SKIP_EXE = '--skip-exe' + +Index: graphviz-0.19.1/run-tests.py +=================================================================== +--- graphviz-0.19.1.orig/run-tests.py ++++ graphviz-0.19.1/run-tests.py +@@ -7,11 +7,11 @@ import doctest + import pathlib + import platform + import sys +-from unittest import mock + +-SELF = pathlib.Path(__file__) ++import pytest + + NO_EXE = doctest.register_optionflag('NO_EXE') ++SELF = pathlib.Path(__file__) + + ARGS = [#'--skip-exe', + #'--only-exe', +@@ -26,19 +26,6 @@ ARGS = [#'--skip-exe', + if platform.system() == 'Windows' and 'idlelib' in sys.modules: + ARGS += ['--capture=sys', '--color=no'] + +- +-class NoExeChecker(doctest.OutputChecker): +- +- def check_output(self, want, got, optionflags, *args, **kwargs) -> bool: +- if optionflags & NO_EXE: +- return True +- return super().check_output(want, got, optionflags, *args, **kwargs) +- +- +-mock.patch.object(doctest, 'OutputChecker', new=NoExeChecker).start() +-import pytest # noqa: E402 +- +- + print('run', [SELF.name] + sys.argv[1:]) + args = ARGS + sys.argv[1:] + diff --git a/python-graphviz.changes b/python-graphviz.changes index 36e0562..e350b1d 100644 --- a/python-graphviz.changes +++ b/python-graphviz.changes @@ -1,3 +1,40 @@ +------------------------------------------------------------------- +Mon Dec 13 15:16:48 UTC 2021 - Dominique Leuenberger + +- Add noto-sans-fonts: in order to have a reliable test suite with + pango 1.50, we need to have some fonts available. +- Add python-graphviz-pytest.patch: Allow to run pytest directly, + instead of run-tests.py. Allows us to further use %%pytest + without workarounds. Patch will be part of the next version. + +------------------------------------------------------------------- +Mon Dec 13 09:38:47 UTC 2021 - Dominique Leuenberger + +- Update to version 0.19.1: + + Fix undecoded CalledProcessError.stdout and .stderr when + .pipe() call with an encoding different from self.encoding + fails. + + Fix missing project root conftest.py in source distribution. + + Extend examples/graphviz-escapes.ipynb. + + Improve test coverage. + + Increase build scripts verbosity. + +------------------------------------------------------------------- +Wed Dec 8 11:21:12 UTC 2021 - Dominique Leuenberger + +- Update to version 0.19: + + Add PendingDeprecationWarning to calls using positional + arguments that will be deprecated in a later version. + + Add keyword-only outfile argument to .render() and stand-alone + graphviz.render(). + + Add graphviz.set_jupyter_format() to set the output format used + by the Jupyter visualization of graphviz.Graph, + graphviz.Digraph, and graphviz.Source. + + Add keyword-only raise_if_result_exists argument to .render() + and stand-alone graphviz.render(). +- For all intermediate releases between 0.14.1 and 0.19, please see + the packaged CHANGES.txt. + ------------------------------------------------------------------- Thu Aug 6 08:26:39 UTC 2020 - Dirk Mueller diff --git a/python-graphviz.spec b/python-graphviz.spec index 5d34c43..cbbddb0 100644 --- a/python-graphviz.spec +++ b/python-graphviz.spec @@ -1,7 +1,7 @@ # # spec file for package python-graphviz # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,15 +18,16 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-graphviz -Version: 0.14.1 +Version: 0.19.1 Release: 0 Summary: Python interface for Graphviz License: MIT Group: Development/Languages/Python URL: https://github.com/xflr6/graphviz Source: https://files.pythonhosted.org/packages/source/g/graphviz/graphviz-%{version}.zip +Patch0: python-graphviz-pytest.patch BuildRequires: %{python_module mock >= 2} -BuildRequires: %{python_module pytest >= 3.4} +BuildRequires: %{python_module pytest >= 6} BuildRequires: %{python_module pytest-cov} BuildRequires: %{python_module pytest-mock >= 1.8} BuildRequires: %{python_module setuptools} @@ -34,6 +35,7 @@ BuildRequires: dos2unix BuildRequires: fdupes BuildRequires: graphviz BuildRequires: graphviz-gnome +BuildRequires: noto-sans-fonts BuildRequires: python-rpm-macros BuildRequires: unzip BuildRequires: w3m @@ -56,13 +58,10 @@ inspected with its default application. Graphs can also be rendered and displayed within IPython notebooks. %prep -%setup -q -n graphviz-%{version} +%autosetup -n graphviz-%{version} # Fix wrong-file-end-of-line-encoding -dos2unix CHANGES.txt LICENSE.txt README.rst docs/*.rst - -# Remove hardcoded pytest version -sed -i -e '/minversion/d' setup.cfg +dos2unix LICENSE.txt README.rst docs/*.rst %build %python_build @@ -76,7 +75,7 @@ sed -i -e '/minversion/d' setup.cfg %files %{python_files} %license LICENSE.txt -%doc CHANGES.txt README.rst +%doc README.rst %{python_sitelib}/graphviz %{python_sitelib}/graphviz-%{version}-py*.egg-info