Merge pull request #3196 from Snowapril/fix_pystruct

Fix pystruct incompatibility and add `test_buffer.py` from cpython 3.8
This commit is contained in:
Jim Fasarakis-Hilliard
2021-10-02 17:27:21 +03:00
committed by GitHub
4 changed files with 4426 additions and 7 deletions

View File

@@ -607,8 +607,6 @@ class BaseXYTestCase(unittest.TestCase):
eq(base64.b85decode(b'czAet'), b"xxxx")
eq(base64.b85decode(b'czAetcmMzZ'), b"xxxxx\x00\x00\x00")
# TODO: RUSTPYTHON
@unittest.expectedFailure
def test_a85decode_errors(self):
illegal = (set(range(32)) | set(range(118, 256))) - set(b' \t\n\r\v')
for c in illegal:
@@ -644,8 +642,6 @@ class BaseXYTestCase(unittest.TestCase):
self.assertRaises(ValueError, base64.a85decode, b's8W-', adobe=False)
self.assertRaises(ValueError, base64.a85decode, b's8W-"', adobe=False)
# TODO: RUSTPYTHON
@unittest.expectedFailure
def test_b85decode_errors(self):
illegal = list(range(33)) + \
list(b'"\',./:[\\]') + \

4423
Lib/test/test_buffer.py vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -600,8 +600,6 @@ class StoredTestsWithSourceFile(AbstractTestsWithSourceFile,
zinfo = zipfp.getinfo(TESTFN)
self.assertEqual(zinfo.date_time, (1980, 1, 1, 0, 0, 0))
# TODO: RUSTPYTHON
@unittest.expectedFailure
def test_add_file_after_2107(self):
# Set atime and mtime to 2108-12-30
ts = 4386268800

View File

@@ -460,7 +460,9 @@ pub(crate) mod _struct {
T: PrimInt + for<'a> std::convert::TryFrom<&'a BigInt>,
{
match vm.to_index_opt(arg) {
Some(index) => index?.try_to_primitive(vm),
Some(index) => index?
.try_to_primitive(vm)
.map_err(|_| new_struct_error(vm, "argument out of range".to_owned())),
None => Err(new_struct_error(
vm,
"required argument is not an integer".to_owned(),