Initial commit

This commit is contained in:
Bassem Girgis
2018-12-20 17:34:07 -06:00
parent 7a2d899662
commit 81b4b9e273
34743 changed files with 5940233 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
SRCS = example.c
TARGET = swigexample
SWIGOPT = -module swigexample
TARGET2 = swigexample2
SWIGOPT2 = -module swigexample2 -globals .
include $(SRCDIR)../example.mk

View File

@@ -0,0 +1,9 @@
/* File : example.c */
#include "example.h"
int ivar = 47;
int ifunc() {
return ivar;
}

View File

@@ -0,0 +1,5 @@
/* File: example.h */
extern int ivar;
int ifunc();

View File

@@ -0,0 +1,12 @@
/* File : example.i */
/* module name given on cmdline */
%feature("autodoc", 1);
%{
#include "example.h"
%}
extern "C" int ivar;
int ifunc();

View File

@@ -0,0 +1,83 @@
# do not dump Octave core
if exist("crash_dumps_octave_core", "builtin")
crash_dumps_octave_core(0);
endif
# load module
clear all;
swigexample;
assert(cvar.ivar == ifunc);
assert(exist("swigexample","var"));
clear all
swigexample;
assert(cvar.ivar == ifunc);
assert(exist("swigexample","var"));
clear all
# load module in a function globally before base context
clear all;
function testme
swigexample;
assert(cvar.ivar == ifunc);
assert(exist("swigexample","var"));
endfunction
testme
testme
swigexample;
assert(cvar.ivar == ifunc);
assert(exist("swigexample","var"));
clear all
function testme
swigexample;
assert(cvar.ivar == ifunc);
assert(exist("swigexample","var"));
endfunction
testme
testme
swigexample;
assert(cvar.ivar == ifunc);
assert(exist("swigexample","var"));
clear all
# load module in a function globally after base context
clear all;
swigexample;
assert(cvar.ivar == ifunc);
assert(exist("swigexample","var"));
function testme
swigexample;
assert(cvar.ivar == ifunc);
assert(exist("swigexample","var"));
endfunction
testme
testme
clear all
swigexample;
assert(cvar.ivar == ifunc);
assert(exist("swigexample","var"));
function testme
swigexample;
assert(cvar.ivar == ifunc);
assert(exist("swigexample","var"));
endfunction
testme
testme
clear all
# octave 3.0.5 randomly crashes on the remaining tests
if !swig_octave_prereq(3,2,0)
exit
endif
# load module with no cvar
clear all;
swigexample2;
assert(swigexample2.ivar == ifunc);
assert(exist("swigexample2","var"));
assert(!isglobal("cvar"))
clear all
swigexample2;
assert(swigexample2.ivar == ifunc);
assert(exist("swigexample2","var"));
assert(!isglobal("cvar"))
clear all