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 |