summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2021-06-20 15:18:49 +0200
committerMichał Górny <mgorny@gentoo.org>2021-06-20 16:37:31 +0200
commitff0248cb142dc0330c5669cb7dc514ced19ac08a (patch)
treef5a453c6d95ebef3449209315ca171cb8a6d2909 /dev-python
parentprofiles.desc: make riscv 20.0 profiles stable, 17.0 exp (diff)
downloadgentoo-ff0248cb142dc0330c5669cb7dc514ced19ac08a.tar.gz
gentoo-ff0248cb142dc0330c5669cb7dc514ced19ac08a.tar.bz2
gentoo-ff0248cb142dc0330c5669cb7dc514ced19ac08a.zip
dev-python/matplotlib: Fix test regression
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.4.1-xelatex-test.patch74
-rw-r--r--dev-python/matplotlib/matplotlib-3.4.1.ebuild3
2 files changed, 76 insertions, 1 deletions
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
new file mode 100644
index 000000000000..5f1bda49c71e
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.4.1-xelatex-test.patch
@@ -0,0 +1,74 @@
+From d0f92f582800b6bd6b4bb2e59cd7e5b3cd6b5948 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 20 Jun 2021 14:46:17 +0200
+Subject: [PATCH] _GSConverter: handle stray 'GS' in output gracefully
+
+Search the GS output stream for either "GS<" or "GS>" explicitly rather
+than any "GS", in order to prevent the code from wrongly matching stray
+"GS". This fixes a recent test regression on Gentoo where the following
+output seems to have been wrongly matched:
+
+ **** Error 'gs' ignored -- ExtGState missing from Resources.
+ ^^
+
+Fixes #20472
+---
+ lib/matplotlib/testing/compare.py | 20 +++++++++++---------
+ 1 file changed, 11 insertions(+), 9 deletions(-)
+
+diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py
+index 3957188b3e2..27af3e186bd 100644
+--- a/lib/matplotlib/testing/compare.py
++++ b/lib/matplotlib/testing/compare.py
+@@ -154,15 +154,17 @@ def encode_and_escape(name):
+ + b") run flush\n")
+ self._proc.stdin.flush()
+ # GS> if nothing left on the stack; GS<n> if n items left on the stack.
+- err = self._read_until(b"GS")
+- stack = self._read_until(b">")
+- if stack or not os.path.exists(dest):
+- stack_size = int(stack[1:]) if stack else 0
+- self._proc.stdin.write(b"pop\n" * stack_size)
+- # Using the systemencoding should at least get the filenames right.
+- raise ImageComparisonFailure(
+- (err + b"GS" + stack + b">")
+- .decode(sys.getfilesystemencoding(), "replace"))
++ err = self._read_until((b"GS<", b"GS>"))
++ if err.endswith(b"GS<"):
++ stack = self._read_until(b">")
++ if stack or not os.path.exists(dest):
++ stack_size = int(stack[1:]) if stack else 0
++ self._proc.stdin.write(b"pop\n" * stack_size)
++ # Using the systemencoding should at least get the filenames
++ # right.
++ raise ImageComparisonFailure(
++ (err + b"GS" + stack + b">")
++ .decode(sys.getfilesystemencoding(), "replace"))
+
+
+ class _SVGConverter(_Converter):
+From d73dd52edf7ec106cf2f6c0ffc79dcda31102ecd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 20 Jun 2021 15:07:56 +0200
+Subject: [PATCH] increase test_backend_pgf.py::test_xelatex[pdf] tol
+
+---
+ lib/matplotlib/tests/test_backend_pgf.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
+index 55e375311..684f38fb7 100644
+--- a/lib/matplotlib/tests/test_backend_pgf.py
++++ b/lib/matplotlib/tests/test_backend_pgf.py
+@@ -80,7 +80,7 @@ def test_common_texification(plain_text, escaped_text):
+ # test compiling a figure to pdf with xelatex
+ @needs_xelatex
+ @pytest.mark.backend('pgf')
+-@image_comparison(['pgf_xelatex.pdf'], style='default')
++@image_comparison(['pgf_xelatex.pdf'], style='default', tol=0.8)
+ def test_xelatex():
+ rc_xelatex = {'font.family': 'serif',
+ 'pgf.rcfonts': False}
+--
+2.32.0
+
diff --git a/dev-python/matplotlib/matplotlib-3.4.1.ebuild b/dev-python/matplotlib/matplotlib-3.4.1.ebuild
index 6ac9f568ad38..a145e84f8c2b 100644
--- a/dev-python/matplotlib/matplotlib-3.4.1.ebuild
+++ b/dev-python/matplotlib/matplotlib-3.4.1.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{8..9} )
PYTHON_REQ_USE='tk?,threads(+)'
inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
@@ -147,6 +147,7 @@ python_prepare_all() {
local PATCHES=(
"${FILESDIR}"/matplotlib-3.4.0-test.patch
"${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
+ "${FILESDIR}"/matplotlib-3.4.1-xelatex-test.patch
)
# requires jupyter-nbconvert