summaryrefslogtreecommitdiff
path: root/dev-python/regex/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-08-07 00:16:33 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-08-07 00:16:33 +0100
commitd162ba1860a88062f4cd61f8b52fc303ba0b2991 (patch)
tree24cd2cf57f3932a24b96e4a0f6666489447e43ba /dev-python/regex/files
parent590b9b7b03bf4651e099949e318755af7cfa81b8 (diff)
gentoo resync : 07.08.2021
Diffstat (limited to 'dev-python/regex/files')
-rw-r--r--dev-python/regex/files/regex-2021.4.4-pypy3-fix-test_empty_array.patch35
-rw-r--r--dev-python/regex/files/regex-2021.4.4-pypy3-fix-test_issue_18468.patch31
2 files changed, 66 insertions, 0 deletions
diff --git a/dev-python/regex/files/regex-2021.4.4-pypy3-fix-test_empty_array.patch b/dev-python/regex/files/regex-2021.4.4-pypy3-fix-test_empty_array.patch
new file mode 100644
index 000000000000..706b41b74688
--- /dev/null
+++ b/dev-python/regex/files/regex-2021.4.4-pypy3-fix-test_empty_array.patch
@@ -0,0 +1,35 @@
+From: Arthur Zamarin <arthurzam@gmail.com>
+Date: Fri, 30 Jul 2021 11:13:41 +0300
+[PATCH] PyPy3: fix test_empty_array
+
+As an optimization, PyPy sets empty array.array to use a NULL buffer
+pointer, while CPython uses empty buffer (but not NULL).
+Add a very specially crafted fix for PyPy3
+
+Signed-off-by: Arthur Zamarin <arthurzam@gmail.com>
+---
+ regex_3/_regex.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+--- a/regex_3/_regex.c
++++ b/regex_3/_regex.c
+@@ -18062,9 +18062,19 @@ Py_LOCAL_INLINE(BOOL) get_string(PyObject* string, RE_StringInfo* str_info) {
+ }
+
+ if (!str_info->view.buf) {
++#if defined(PYPY_VERSION)
++ /* In PyPy3, when the array.array is empty, it's buffer is NULL */
++ str_info->characters = NULL;
++ str_info->length = 0;
++ str_info->charsize = 1;
++ str_info->is_unicode = FALSE;
++ str_info->should_release = FALSE;
++ return TRUE;
++#else
+ PyBuffer_Release(&str_info->view);
+ PyErr_SetString(PyExc_ValueError, "buffer is NULL");
+ return FALSE;
++#endif
+ }
+
+ str_info->should_release = TRUE;
diff --git a/dev-python/regex/files/regex-2021.4.4-pypy3-fix-test_issue_18468.patch b/dev-python/regex/files/regex-2021.4.4-pypy3-fix-test_issue_18468.patch
new file mode 100644
index 000000000000..ae5958021781
--- /dev/null
+++ b/dev-python/regex/files/regex-2021.4.4-pypy3-fix-test_issue_18468.patch
@@ -0,0 +1,31 @@
+From: Arthur Zamarin <arthurzam@gmail.com>
+Date: Fri, 30 Jul 2021 11:38:26 +0300
+[PATCH] PyPy3: fix test_issue_18468
+
+When using the small subclass classes to test correctness of split
+results, there are difference between CPython and PyPy3:
+ - CPython returns always the base class (for example str instead
+ of StrSubclass)
+ - PyPy3 returns the same class, so we get an StrSubclass
+
+Based on the test, it looks like the behaviour of PyPy3 is correct,
+but the test works based on CPython.
+
+The fix was to relax the equals type to check that it is a subclass.
+
+Signed-off-by: Arthur Zamarin <arthurzam@gmail.com>
+---
+ regex_3/test_regex.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/regex_3/test_regex.py
++++ b/regex_3/test_regex.py
+@@ -52,7 +52,7 @@ class RegexTests(unittest.TestCase):
+ for x, y in zip(actual, expect):
+ recurse(x, y)
+ else:
+- self.assertIs(type(actual), type(expect), msg)
++ self.assertIsInstance(actual, type(expect), msg)
+
+ recurse(actual, expect)
+