Python code generated with '-builtin -modernargs' segfaults for any method taking zero arguments.

Also fixes: "SystemError: error return without exception set" during error checking
when using just -builtin and the incorrect number of arguments is passed to a class
method expecting zero arguments.

Closes #256
Closes #382
This commit is contained in:
William S Fulton 2015-04-24 21:08:17 +01:00
commit 416277b3a5
4 changed files with 61 additions and 8 deletions

View file

@ -0,0 +1,44 @@
from template_classes import *
# This test is just testing incorrect number of arguments/parameters checking
point = PointInt()
rectangle = RectangleInt()
rectangle.setPoint(point)
rectangle.getPoint()
RectangleInt.static_noargs()
RectangleInt.static_onearg(1)
fail = True
try:
rectangle.setPoint()
except TypeError, e:
fail = False
if fail:
raise RuntimeError("argument count check failed")
fail = True
try:
rectangle.getPoint(0)
except TypeError, e:
fail = False
if fail:
raise RuntimeError("argument count check failed")
fail = True
try:
RectangleInt.static_noargs(0)
except TypeError, e:
fail = False
if fail:
raise RuntimeError("argument count check failed")
fail = True
try:
RectangleInt.static_onearg()
except TypeError, e:
fail = False
if fail:
raise RuntimeError("argument count check failed")