Add testcase and info on python -builtin missing argument count check

This commit is contained in:
William S Fulton 2014-03-01 16:41:22 +00:00
parent 8998f11ca3
commit a3a0535229
4 changed files with 65 additions and 0 deletions

View File

@ -5,6 +5,10 @@ See the RELEASENOTES file for a summary of changes in each release.
Version 3.0.0 (in progress)
============================
2014-03-01: wsfulton
[Python] SF patch #347 Fix missing argument count checking with -modern.
Fixes regression introduced when builtin changes were introduced in SWIG-2.0.3.
2014-02-21: wsfulton
[PHP] Fix warning suppression using %warnfilter for PHP reserved class names.

View File

@ -577,6 +577,7 @@ C_TEST_CASES += \
extern_declaration \
funcptr \
function_typedef \
global_functions \
immutable_values \
inctest \
integers \

View File

@ -0,0 +1,8 @@
%module global_functions
%inline %{
void global_void(void) {}
int global_one(int i) { return i; }
int global_two(int i, int j) { return i+j; }
%}

View File

@ -0,0 +1,52 @@
from global_functions import *
def check(a, b):
if a != b:
raise RuntimeError("Failed: " + str(a) + " != " + str(b))
global_void()
check(global_one(1), 1)
check(global_two(2, 2), 4)
fail = True
try:
global_void(1)
except TypeError, e:
fail = False
if fail:
raise RuntimeError("argument count check failed")
fail = True
try:
global_one()
except TypeError, e:
fail = False
if fail:
raise RuntimeError("argument count check failed")
fail = True
try:
global_one(2, 2)
except TypeError, e:
fail = False
if fail:
raise RuntimeError("argument count check failed")
fail = True
try:
global_two(1)
except TypeError, e:
fail = False
if fail:
raise RuntimeError("argument count check failed")
fail = True
try:
global_two(3, 3, 3)
except TypeError, e:
fail = False
if fail:
raise RuntimeError("argument count check failed")