Skip to content

Commit d25195e

Browse files
authored
Update test_binascii.py to 3.14.4 (#7753)
* Update `test_binascii.py` to 3.14.4 * Mark failing test
1 parent 9004089 commit d25195e

1 file changed

Lines changed: 25 additions & 11 deletions

File tree

‎Lib/test/test_binascii.py‎

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -144,17 +144,16 @@ def assertExcessPadding(data, non_strict_mode_expected_result: bytes):
144144
_assertRegexTemplate(r'(?i)Excess padding', data, non_strict_mode_expected_result)
145145

146146
# Test excess data exceptions
147-
assertExcessData(b'ab==a', b'i')
148-
assertExcessData(b'ab===', b'i')
149-
assertExcessData(b'ab====', b'i')
150-
assertExcessData(b'ab==:', b'i')
151-
assertExcessData(b'abc=a', b'i\xb7')
152-
assertExcessData(b'abc=:', b'i\xb7')
153-
assertExcessData(b'ab==\n', b'i')
154-
assertExcessData(b'abc==', b'i\xb7')
155-
assertExcessData(b'abc===', b'i\xb7')
156-
assertExcessData(b'abc====', b'i\xb7')
157-
assertExcessData(b'abc=====', b'i\xb7')
147+
assertExcessPadding(b'ab===', b'i')
148+
assertExcessPadding(b'ab====', b'i')
149+
assertNonBase64Data(b'ab==:', b'i')
150+
assertExcessData(b'abc=a', b'i\xb7\x1a')
151+
assertNonBase64Data(b'abc=:', b'i\xb7')
152+
assertNonBase64Data(b'ab==\n', b'i')
153+
assertExcessPadding(b'abc==', b'i\xb7')
154+
assertExcessPadding(b'abc===', b'i\xb7')
155+
assertExcessPadding(b'abc====', b'i\xb7')
156+
assertExcessPadding(b'abc=====', b'i\xb7')
158157

159158
# Test non-base64 data exceptions
160159
assertNonBase64Data(b'\nab==', b'i')
@@ -176,6 +175,21 @@ def assertExcessPadding(data, non_strict_mode_expected_result: bytes):
176175
assertExcessPadding(b'abcd====', b'i\xb7\x1d')
177176
assertExcessPadding(b'abcd=====', b'i\xb7\x1d')
178177

178+
@unittest.expectedFailure # TODO: RUSTPYTHON; AssertionError: b'i' != b'i\xb7'
179+
def test_base64_excess_data(self):
180+
# Test excess data exceptions
181+
def assertExcessData(data, expected):
182+
assert_regex = r'(?i)Excess data'
183+
data = self.type2test(data)
184+
with self.assertRaisesRegex(binascii.Error, assert_regex):
185+
binascii.a2b_base64(data, strict_mode=True)
186+
self.assertEqual(binascii.a2b_base64(data, strict_mode=False),
187+
expected)
188+
self.assertEqual(binascii.a2b_base64(data), expected)
189+
190+
assertExcessData(b'ab==c=', b'i\xb7')
191+
assertExcessData(b'ab==cd', b'i\xb7\x1d')
192+
assertExcessData(b'abc=d', b'i\xb7\x1d')
179193

180194
def test_base64errors(self):
181195
# Test base64 with invalid padding

0 commit comments

Comments
 (0)