bpo-39689: Do not test undefined casts to _Bool (GH-18964)

- When casting to _Bool, arrays should only contain zeros or ones.
This commit is contained in:
Stefan Krah 2020-03-12 19:35:38 +01:00 committed by GitHub
parent fdcd53fe1a
commit 1ae9cde4b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 0 deletions

View File

@ -2754,6 +2754,10 @@ class TestBufferProtocol(unittest.TestCase):
# be 1D, at least one format must be 'c', 'b' or 'B'. # be 1D, at least one format must be 'c', 'b' or 'B'.
for _tshape in gencastshapes(): for _tshape in gencastshapes():
for char in fmtdict['@']: for char in fmtdict['@']:
# Casts to _Bool are undefined if the source contains values
# other than 0 or 1.
if char == "?":
continue
tfmt = ('', '@')[randrange(2)] + char tfmt = ('', '@')[randrange(2)] + char
tsize = struct.calcsize(tfmt) tsize = struct.calcsize(tfmt)
n = prod(_tshape) * tsize n = prod(_tshape) * tsize