From 6cd74b1f63cf6854f19228f131d2ecb97ab29472 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 26 Apr 2021 07:47:20 -0400 Subject: [PATCH 1/2] =?UTF-8?q?In=20test=5Finvalid=5Finput,=20also=20accep?= =?UTF-8?q?t=20=E2=80=9C(str=20object=20cannot=20be=20interpreted=20as=20a?= =?UTF-8?q?n=20integer)=E2=80=9D=20wherever=20we=20expected=20=E2=80=9Can?= =?UTF-8?q?=20integer=20is=20required=E2=80=9D;=20required=20for=20Python?= =?UTF-8?q?=203.10=20compatibility?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/test_codecs.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tests/test_codecs.py b/tests/test_codecs.py index b4ed7057..c79279f7 100644 --- a/tests/test_codecs.py +++ b/tests/test_codecs.py @@ -670,6 +670,11 @@ async def test_unhandled_type_fallback(self): ''') async def test_invalid_input(self): + # The latter message appears beginning in Python 3.10. + integer_required = ( + "(an integer is required|" + "\('str' object cannot be interpreted as an integer\))") + cases = [ ('bytea', 'a bytes-like object is required', [ 1, @@ -678,7 +683,7 @@ async def test_invalid_input(self): ('bool', 'a boolean is required', [ 1, ]), - ('int2', 'an integer is required', [ + ('int2', integer_required, [ '2', 'aa', ]), @@ -694,7 +699,7 @@ async def test_invalid_input(self): 4.1 * 10 ** 40, -4.1 * 10 ** 40, ]), - ('int4', 'an integer is required', [ + ('int4', integer_required, [ '2', 'aa', ]), @@ -705,7 +710,7 @@ async def test_invalid_input(self): 2**31, -2**31 - 1, ]), - ('int8', 'an integer is required', [ + ('int8', integer_required, [ '2', 'aa', ]), From 4c33f2a76a1d8b9b87fa29b4b3b4f390457d2b68 Mon Sep 17 00:00:00 2001 From: Ben Beasley Date: Mon, 26 Apr 2021 12:13:49 -0400 Subject: [PATCH 2/2] Fix invalid escape sequences by expressing regex pattern as a raw string literal. Co-authored-by: Elvis Pranskevichus --- tests/test_codecs.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_codecs.py b/tests/test_codecs.py index c79279f7..0eacf4e8 100644 --- a/tests/test_codecs.py +++ b/tests/test_codecs.py @@ -672,8 +672,8 @@ async def test_unhandled_type_fallback(self): async def test_invalid_input(self): # The latter message appears beginning in Python 3.10. integer_required = ( - "(an integer is required|" - "\('str' object cannot be interpreted as an integer\))") + r"(an integer is required|" + r"\('str' object cannot be interpreted as an integer\))") cases = [ ('bytea', 'a bytes-like object is required', [