summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_binascii.py
diff options
context:
space:
mode:
authorTal Einat <taleinat+github@gmail.com>2018-09-28 05:57:22 (GMT)
committerMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2018-09-28 05:57:22 (GMT)
commit1fba2ffc37da52c08db51fe4360459990b0311c9 (patch)
tree1e4f16b34025650937e3f9b5285351e2b8de7c59 /Lib/test/test_binascii.py
parent9df346bf98069a87de14a3c2f69009d800994c63 (diff)
downloadcpython-1fba2ffc37da52c08db51fe4360459990b0311c9.zip
cpython-1fba2ffc37da52c08db51fe4360459990b0311c9.tar.gz
cpython-1fba2ffc37da52c08db51fe4360459990b0311c9.tar.bz2
bpo-34736: improve error message for invalid length b64decode inputs (GH-9563)
Improvements: 1. Include the number of valid data characters in the error message. 2. Mention "number of data characters" rather than "length". https://bugs.python.org/issue34736
Diffstat (limited to 'Lib/test/test_binascii.py')
-rw-r--r--Lib/test/test_binascii.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/Lib/test/test_binascii.py b/Lib/test/test_binascii.py
index c5fcc1a..572e50c 100644
--- a/Lib/test/test_binascii.py
+++ b/Lib/test/test_binascii.py
@@ -3,6 +3,7 @@
import unittest
import binascii
import array
+import re
# Note: "*_hex" functions are aliases for "(un)hexlify"
b2a_functions = ['b2a_base64', 'b2a_hex', 'b2a_hqx', 'b2a_qp', 'b2a_uu',
@@ -127,7 +128,10 @@ class BinASCIITest(unittest.TestCase):
# Test base64 with invalid number of valid characters (1 mod 4)
def assertInvalidLength(data):
- with self.assertRaisesRegex(binascii.Error, r'(?i)invalid.+length'):
+ n_data_chars = len(re.sub(br'[^A-Za-z0-9/+]', br'', data))
+ expected_errmsg_re = \
+ r'(?i)Invalid.+number of data characters.+' + str(n_data_chars)
+ with self.assertRaisesRegex(binascii.Error, expected_errmsg_re):
binascii.a2b_base64(self.type2test(data))
assertInvalidLength(b'a')