mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
gh-94930: skipitem() in getargs.c should return non-NULL on error (GH-94931)
This commit is contained in:
parent
2f8bff6879
commit
067f0da335
4 changed files with 37 additions and 8 deletions
|
@ -877,9 +877,19 @@ class String_TestCase(unittest.TestCase):
|
|||
def test_s_hash_int(self):
|
||||
# "s#" without PY_SSIZE_T_CLEAN defined.
|
||||
from _testcapi import getargs_s_hash_int
|
||||
self.assertRaises(SystemError, getargs_s_hash_int, "abc")
|
||||
self.assertRaises(SystemError, getargs_s_hash_int, x=42)
|
||||
# getargs_s_hash_int() don't raise SystemError because skipitem() is not called.
|
||||
from _testcapi import getargs_s_hash_int2
|
||||
buf = bytearray([1, 2])
|
||||
self.assertRaises(SystemError, getargs_s_hash_int, buf, "abc")
|
||||
self.assertRaises(SystemError, getargs_s_hash_int, buf, x=42)
|
||||
self.assertRaises(SystemError, getargs_s_hash_int, buf, x="abc")
|
||||
self.assertRaises(SystemError, getargs_s_hash_int2, buf, ("abc",))
|
||||
self.assertRaises(SystemError, getargs_s_hash_int2, buf, x=42)
|
||||
self.assertRaises(SystemError, getargs_s_hash_int2, buf, x="abc")
|
||||
buf.append(3) # still mutable -- not locked by a buffer export
|
||||
# getargs_s_hash_int(buf) may not raise SystemError because skipitem()
|
||||
# is not called. But it is an implementation detail.
|
||||
# getargs_s_hash_int(buf)
|
||||
# getargs_s_hash_int2(buf)
|
||||
|
||||
def test_z(self):
|
||||
from _testcapi import getargs_z
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue