Fix iterators for containers of NULL pointers (or Python None) when using -builtin.
Previously iteration would stop at the first element that had a NULL pointer value.
This commit is contained in:
parent
b138f054e5
commit
0769e9b727
5 changed files with 30 additions and 14 deletions
|
|
@ -36,3 +36,21 @@ try:
|
|||
raise RuntimeError("missed exception")
|
||||
except TypeError:
|
||||
pass
|
||||
|
||||
b111 = makeB(111)
|
||||
bNones = BPtrVector([None, b111, None])
|
||||
|
||||
bCount = 0
|
||||
noneCount = 0
|
||||
for b in bNones:
|
||||
if b == None:
|
||||
noneCount = noneCount + 1
|
||||
else:
|
||||
if b.val != 111:
|
||||
raise RuntimeError("b.val is wrong")
|
||||
bCount = bCount + 1
|
||||
|
||||
if bCount != 1:
|
||||
raise RuntimeError("bCount wrong")
|
||||
if noneCount != 2:
|
||||
raise RuntimeError("noneCount wrong")
|
||||
|
|
|
|||
|
|
@ -2,3 +2,9 @@ from li_std_vector import *
|
|||
|
||||
if typedef_test(101) != 101:
|
||||
raise RuntimeError
|
||||
|
||||
try:
|
||||
sv = StructVector([None, None])
|
||||
raise RuntimeError("Using None should result in a TypeError")
|
||||
except TypeError:
|
||||
pass
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue