[Python-checkins] gh-94808: Fix regex on exotic platforms (#98036)

JelleZijlstra webhook-mailer at python.org
Fri Oct 7 18:40:02 EDT 2022


https://github.com/python/cpython/commit/a54a69989eade3589459d15def53b3c4f21b7551
commit: a54a69989eade3589459d15def53b3c4f21b7551
branch: main
author: Jelle Zijlstra <jelle.zijlstra at gmail.com>
committer: JelleZijlstra <jelle.zijlstra at gmail.com>
date: 2022-10-07T15:39:53-07:00
summary:

gh-94808: Fix regex on exotic platforms (#98036)

The test failed on a buildbot because the pointer was only 7 hex characters. To be safe,
I bumped it down to 3: 4 in case we have 32-bit platforms, and 3 in case the pointer is very small.

files:
M Lib/test/test_unicode.py
M Makefile.pre.in

diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py
index b9ee9d30318c..5b816574f2c3 100644
--- a/Lib/test/test_unicode.py
+++ b/Lib/test/test_unicode.py
@@ -2811,7 +2811,7 @@ def check_format(expected, format, *args):
         # We cannot test the exact result,
         # because it returns a hex representation of a C pointer,
         # which is going to be different each time. But, we can test the format.
-        p_format_regex = r'^0x[a-zA-Z0-9]{8,}$'
+        p_format_regex = r'^0x[a-zA-Z0-9]{3,}$'
         p_format1 = PyUnicode_FromFormat(b'%p', 'abc')
         self.assertIsInstance(p_format1, str)
         self.assertRegex(p_format1, p_format_regex)
@@ -2819,7 +2819,7 @@ def check_format(expected, format, *args):
         p_format2 = PyUnicode_FromFormat(b'%p %p', '123456', b'xyz')
         self.assertIsInstance(p_format2, str)
         self.assertRegex(p_format2,
-                         r'0x[a-zA-Z0-9]{8,} 0x[a-zA-Z0-9]{8,}')
+                         r'0x[a-zA-Z0-9]{3,} 0x[a-zA-Z0-9]{3,}')
 
         # Extra args are ignored:
         p_format3 = PyUnicode_FromFormat(b'%p', '123456', None, b'xyz')
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 11118354f15d..4602db69d15a 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -2038,6 +2038,7 @@ TESTSUBDIRS=	distutils/tests \
 		test/test_zoneinfo test/test_zoneinfo/data \
 		test/test_unittest test/test_unittest/testmock \
 		test/tracedmodules \
+		test/typinganndata \
 		test/xmltestdata test/xmltestdata/c14n-20 \
 		test/ziptestdata
 



More information about the Python-checkins mailing list