Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/, dev-python/matplotlib/files/
Date: Sun, 20 Jun 2021 14:37:40
Message-Id: 1624199851.ff0248cb142dc0330c5669cb7dc514ced19ac08a.mgorny@gentoo
1 commit: ff0248cb142dc0330c5669cb7dc514ced19ac08a
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Sun Jun 20 13:18:49 2021 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Sun Jun 20 14:37:31 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ff0248cb
7
8 dev-python/matplotlib: Fix test regression
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 .../files/matplotlib-3.4.1-xelatex-test.patch | 74 ++++++++++++++++++++++
13 dev-python/matplotlib/matplotlib-3.4.1.ebuild | 3 +-
14 2 files changed, 76 insertions(+), 1 deletion(-)
15
16 diff --git a/dev-python/matplotlib/files/matplotlib-3.4.1-xelatex-test.patch b/dev-python/matplotlib/files/matplotlib-3.4.1-xelatex-test.patch
17 new file mode 100644
18 index 00000000000..5f1bda49c71
19 --- /dev/null
20 +++ b/dev-python/matplotlib/files/matplotlib-3.4.1-xelatex-test.patch
21 @@ -0,0 +1,74 @@
22 +From d0f92f582800b6bd6b4bb2e59cd7e5b3cd6b5948 Mon Sep 17 00:00:00 2001
23 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@g.o>
24 +Date: Sun, 20 Jun 2021 14:46:17 +0200
25 +Subject: [PATCH] _GSConverter: handle stray 'GS' in output gracefully
26 +
27 +Search the GS output stream for either "GS<" or "GS>" explicitly rather
28 +than any "GS", in order to prevent the code from wrongly matching stray
29 +"GS". This fixes a recent test regression on Gentoo where the following
30 +output seems to have been wrongly matched:
31 +
32 + **** Error 'gs' ignored -- ExtGState missing from Resources.
33 + ^^
34 +
35 +Fixes #20472
36 +---
37 + lib/matplotlib/testing/compare.py | 20 +++++++++++---------
38 + 1 file changed, 11 insertions(+), 9 deletions(-)
39 +
40 +diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py
41 +index 3957188b3e2..27af3e186bd 100644
42 +--- a/lib/matplotlib/testing/compare.py
43 ++++ b/lib/matplotlib/testing/compare.py
44 +@@ -154,15 +154,17 @@ def encode_and_escape(name):
45 + + b") run flush\n")
46 + self._proc.stdin.flush()
47 + # GS> if nothing left on the stack; GS<n> if n items left on the stack.
48 +- err = self._read_until(b"GS")
49 +- stack = self._read_until(b">")
50 +- if stack or not os.path.exists(dest):
51 +- stack_size = int(stack[1:]) if stack else 0
52 +- self._proc.stdin.write(b"pop\n" * stack_size)
53 +- # Using the systemencoding should at least get the filenames right.
54 +- raise ImageComparisonFailure(
55 +- (err + b"GS" + stack + b">")
56 +- .decode(sys.getfilesystemencoding(), "replace"))
57 ++ err = self._read_until((b"GS<", b"GS>"))
58 ++ if err.endswith(b"GS<"):
59 ++ stack = self._read_until(b">")
60 ++ if stack or not os.path.exists(dest):
61 ++ stack_size = int(stack[1:]) if stack else 0
62 ++ self._proc.stdin.write(b"pop\n" * stack_size)
63 ++ # Using the systemencoding should at least get the filenames
64 ++ # right.
65 ++ raise ImageComparisonFailure(
66 ++ (err + b"GS" + stack + b">")
67 ++ .decode(sys.getfilesystemencoding(), "replace"))
68 +
69 +
70 + class _SVGConverter(_Converter):
71 +From d73dd52edf7ec106cf2f6c0ffc79dcda31102ecd Mon Sep 17 00:00:00 2001
72 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@g.o>
73 +Date: Sun, 20 Jun 2021 15:07:56 +0200
74 +Subject: [PATCH] increase test_backend_pgf.py::test_xelatex[pdf] tol
75 +
76 +---
77 + lib/matplotlib/tests/test_backend_pgf.py | 2 +-
78 + 1 file changed, 1 insertion(+), 1 deletion(-)
79 +
80 +diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
81 +index 55e375311..684f38fb7 100644
82 +--- a/lib/matplotlib/tests/test_backend_pgf.py
83 ++++ b/lib/matplotlib/tests/test_backend_pgf.py
84 +@@ -80,7 +80,7 @@ def test_common_texification(plain_text, escaped_text):
85 + # test compiling a figure to pdf with xelatex
86 + @needs_xelatex
87 + @pytest.mark.backend('pgf')
88 +-@image_comparison(['pgf_xelatex.pdf'], style='default')
89 ++@image_comparison(['pgf_xelatex.pdf'], style='default', tol=0.8)
90 + def test_xelatex():
91 + rc_xelatex = {'font.family': 'serif',
92 + 'pgf.rcfonts': False}
93 +--
94 +2.32.0
95 +
96
97 diff --git a/dev-python/matplotlib/matplotlib-3.4.1.ebuild b/dev-python/matplotlib/matplotlib-3.4.1.ebuild
98 index 6ac9f568ad3..a145e84f8c2 100644
99 --- a/dev-python/matplotlib/matplotlib-3.4.1.ebuild
100 +++ b/dev-python/matplotlib/matplotlib-3.4.1.ebuild
101 @@ -3,7 +3,7 @@
102
103 EAPI=7
104
105 -PYTHON_COMPAT=( python3_{7..9} )
106 +PYTHON_COMPAT=( python3_{8..9} )
107 PYTHON_REQ_USE='tk?,threads(+)'
108
109 inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
110 @@ -147,6 +147,7 @@ python_prepare_all() {
111 local PATCHES=(
112 "${FILESDIR}"/matplotlib-3.4.0-test.patch
113 "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
114 + "${FILESDIR}"/matplotlib-3.4.1-xelatex-test.patch
115 )
116
117 # requires jupyter-nbconvert