Merge with the master again.

Bring in the recent JavaScript changes.
This commit is contained in:
Vadim Zeitlin 2014-05-07 23:25:33 +02:00
commit c5e5978287
364 changed files with 11981 additions and 294 deletions

View file

@ -12,7 +12,7 @@ top_builddir = @top_builddir@
# these cpp tests generate warnings/errors when compiling
# the wrapper .cxx file.
CPP_TEST_BROKEN_CXX =
CPP_TEST_BROKEN_CXX =
# the error is wrap:action code generated by swig. \
# error: can't convert [std::string] 'b' to 'bool' \
# might just need a bool overload op for std::string. \
@ -71,7 +71,7 @@ CPP_TEST_CASES_ACL_UNSUPPORTED = \
extern_throws \
throw_exception \
using_pointers \
C_TEST_CASES_ACL_BROKEN = \
# 'cdate.i' module support \
li_cdata \
@ -96,7 +96,7 @@ include $(srcdir)/../common.mk
# none!
# Rules for the different types of tests
%.cpptest:
%.cpptest:
$(setup)
+$(swig_and_compile_cpp)
$(run_testcase)
@ -106,7 +106,7 @@ include $(srcdir)/../common.mk
+$(swig_and_compile_c)
$(run_testcase)
%.multicpptest:
%.multicpptest:
$(setup)
+$(swig_and_compile_multi_cpp)
$(run_testcase)
@ -123,4 +123,3 @@ run_testcase = \
clean:
$(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile allegrocl_clean

View file

@ -2,9 +2,9 @@
/* check C++ delete keyword is okay in C wrappers */
#pragma SWIG nowarn=SWIGWARN_PARSE_KEYWORD
%warnfilter(SWIGWARN_PARSE_KEYWORD) delete;
#if !defined(SWIGOCTAVE) /* Octave compiles wrappers as C++ */
#if !defined(SWIGOCTAVE) && !defined(SWIG_JAVASCRIPT_V8) /* Octave and Javascript/v8 compiles wrappers as C++ */
%inline %{
struct delete {

View file

@ -2,7 +2,9 @@
/* check C++ delete keyword is okay in C wrappers */
#if !defined(SWIGOCTAVE) /* Octave compiles wrappers as C++ */
%warnfilter(SWIGWARN_PARSE_KEYWORD) delete;
#if !defined(SWIGOCTAVE) && !defined(SWIG_JAVASCRIPT_V8) /* Octave and Javascript/v8 compiles wrappers as C++ */
%inline %{
double delete(double d) { return d; }

View file

@ -14,13 +14,13 @@ include $(srcdir)/../common.mk
# Overridden variables here
# no C++ tests for now
CPP_TEST_CASES =
#C_TEST_CASES +=
#C_TEST_CASES +=
# Custom tests - tests with additional commandline options
# none!
# Rules for the different types of tests
%.cpptest:
%.cpptest:
$(setup)
+$(swig_and_compile_cpp)
$(run_testcase)
@ -30,7 +30,7 @@ CPP_TEST_CASES =
+$(swig_and_compile_c)
$(run_testcase)
%.multicpptest:
%.multicpptest:
$(setup)
+$(swig_and_compile_multi_cpp)
$(run_testcase)
@ -44,8 +44,7 @@ run_testcase = \
# Clean: (does nothing, we dont generate extra cffi code)
%.clean:
@exit 0
clean:
$(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile cffi_clean

View file

@ -3,7 +3,7 @@
#######################################################################
LANGUAGE = chicken
VARIANT =
VARIANT =
SCRIPTSUFFIX = _runme.ss
PROXYSUFFIX = _runme_proxy.ss
srcdir = @srcdir@
@ -17,7 +17,7 @@ SO = @SO@
# Skip the STD cases for now, except for li_std_string.i
SKIP_CPP_STD_CASES = Yes
CPP_TEST_CASES += li_std_string
CPP_TEST_CASES += li_std_string
EXTRA_TEST_CASES += chicken_ext_test.externaltest
@ -39,7 +39,7 @@ SWIGOPT += -nounit
%.multiproxy: SCRIPTSUFFIX = $(PROXYSUFFIX)
# Rules for the different types of tests
%.cpptest:
%.cpptest:
$(setup)
+$(swig_and_compile_cpp)
$(run_testcase)
@ -55,7 +55,7 @@ SWIGOPT += -nounit
$(MAKE) $*.cproxy; \
fi
%.multicpptest:
%.multicpptest:
$(setup)
+$(swig_and_compile_multi_cpp)
$(run_testcase)
@ -92,7 +92,7 @@ run_testcase = \
# Clean
%.clean:
@exit 0
clean:
$(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile chicken_clean

View file

@ -14,13 +14,13 @@ include $(srcdir)/../common.mk
# Overridden variables here
# no C++ tests for now
CPP_TEST_CASES =
#C_TEST_CASES +=
#C_TEST_CASES +=
# Custom tests - tests with additional commandline options
# none!
# Rules for the different types of tests
%.cpptest:
%.cpptest:
$(setup)
+$(swig_and_compile_cpp)
$(run_testcase)
@ -30,7 +30,7 @@ CPP_TEST_CASES =
+$(swig_and_compile_c)
$(run_testcase)
%.multicpptest:
%.multicpptest:
$(setup)
+$(swig_and_compile_multi_cpp)
$(run_testcase)
@ -44,8 +44,7 @@ run_testcase = \
# Clean: (does nothing, we dont generate extra clisp code)
%.clean:
@exit 0
clean:
$(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile clisp_clean

View file

@ -609,6 +609,7 @@ C_TEST_CASES += \
global_functions \
immutable_values \
inctest \
infinity \
integers \
keyword_rename \
lextype \
@ -635,6 +636,7 @@ C_TEST_CASES += \
simple_array \
sizeof_pointer \
sneaky1 \
string_simple \
struct_rename \
struct_initialization \
typedef_struct \

View file

@ -73,7 +73,7 @@ public:
%include "std_vector.i"
#if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGPYTHON) || defined(SWIGR) || defined(SWIGOCTAVE) || defined(SWIGRUBY)
#if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGPYTHON) || defined(SWIGR) || defined(SWIGOCTAVE) || defined(SWIGRUBY) || defined(SWIGJAVASCRIPT)
#define SWIG_GOOD_VECTOR
%ignore std::vector<Space::Flow>::vector(size_type);
%ignore std::vector<Space::Flow>::resize(size_type);

View file

@ -40,7 +40,7 @@ csharp_lib_arrays.cpptest: CSHARPFLAGSSPECIAL = -unsafe
csharp_swig2_compatibility.cpptest: SWIGOPT += -DSWIG2_CSHARP
# Rules for the different types of tests
%.cpptest:
%.cpptest:
$(setup)
+(cd $* && $(swig_and_compile_cpp))
+$(run_testcase)
@ -50,7 +50,7 @@ csharp_swig2_compatibility.cpptest: SWIGOPT += -DSWIG2_CSHARP
+(cd $* && $(swig_and_compile_c))
+$(run_testcase)
%.multicpptest:
%.multicpptest:
$(setup)
+(cd $* && $(swig_and_compile_multi_cpp))
+$(run_testcase)

View file

@ -40,7 +40,7 @@ namespace TopLevel
%include <std_string.i>
// nspace feature only supported by these languages
#if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGD) || defined(SWIGLUA)
#if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGD) || defined(SWIGLUA) || defined(SWIGJAVASCRIPT)
%nspace TopLevel::Bar::Foo;
%nspace TopLevel::Bar::FooBar;
#else

View file

@ -34,7 +34,7 @@ namespace TopLevel
%include <std_string.i>
// nspace feature only supported by these languages
#if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGD) || defined(SWIGLUA)
#if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGD) || defined(SWIGLUA) || defined(SWIGJAVASCRIPT)
%nspace TopLevel::A::Foo;
%nspace TopLevel::B::Foo;
#else

View file

@ -1,7 +1,7 @@
%module enum_forward
/* This contains C code that is not valid C++03 and Octave wrappers are always compiled as C++ */
#if !defined(SWIGOCTAVE)
/* This contains C code that is not valid C++03 and Octave, and Javascript(v8) wrappers are always compiled as C++ */
#if !defined(SWIGOCTAVE) && !defined(SWIG_JAVASCRIPT_V8)
%{
enum ForwardEnum1 { AAA, BBB };
enum ForwardEnum2 { CCC, DDD };

View file

@ -29,13 +29,13 @@ CPP_ERROR_TEST_CASES := $(filter cpp_%, $(ALL_ERROR_TEST_CASES))
C_ERROR_TEST_CASES := $(filter-out $(CPP_ERROR_TEST_CASES), $(ALL_ERROR_TEST_CASES))
ERROR_TEST_CASES := $(CPP_ERROR_TEST_CASES:=.cpptest) \
$(C_ERROR_TEST_CASES:=.ctest)
$(C_ERROR_TEST_CASES:=.ctest)
include $(srcdir)/../common.mk
# Rules for the different types of tests
%.cpptest:
%.cpptest:
echo "$(ACTION)ing errors testcase $*"
-$(SWIG) -c++ -python -Wall -Fstandard $(SWIGOPT) $*.i 2>&1 | $(TODOS) > $*.$(ERROR_EXT)
$(COMPILETOOL) diff -c $*.stderr $*.$(ERROR_EXT)
@ -46,9 +46,8 @@ include $(srcdir)/../common.mk
$(COMPILETOOL) diff -c $*.stderr $*.$(ERROR_EXT)
%.clean:
@exit 0
clean:
$(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile $(LANGUAGE)_clean
@rm -f *.$(ERROR_EXT) *.py

View file

@ -29,7 +29,7 @@ include $(srcdir)/../common.mk
.SUFFIXES: .cpptest .ctest .multicpptest
# Rules for the different types of tests
%.cpptest:
%.cpptest:
$(setup)
+$(swig_and_compile_cpp)
$(run_testcase_cpp)
@ -39,7 +39,7 @@ include $(srcdir)/../common.mk
+$(swig_and_compile_c)
$(run_testcase)
%.multicpptest:
%.multicpptest:
$(setup)
+$(swig_and_compile_multi_cpp)
$(run_multi_testcase)

View file

@ -14,9 +14,9 @@ GUILE = @GUILE@
GUILE_RUNTIME=
C_TEST_CASES = long_long \
list_vector \
multivalue \
pointer_in_out
list_vector \
multivalue \
pointer_in_out
include $(srcdir)/../common.mk
@ -28,7 +28,7 @@ INCLUDES += -I$(top_srcdir)/$(EXAMPLES)/$(TEST_SUITE)/guile
%.multicpptest: SWIGOPT += $(GUILE_RUNTIME)
# Rules for the different types of tests
%.cpptest:
%.cpptest:
$(setup)
+$(swig_and_compile_cpp)
$(run_testcase)
@ -38,7 +38,7 @@ INCLUDES += -I$(top_srcdir)/$(EXAMPLES)/$(TEST_SUITE)/guile
+$(swig_and_compile_c)
$(run_testcase)
%.multicpptest:
%.multicpptest:
$(setup)
+$(swig_and_compile_multi_cpp)
$(run_testcase)

View file

@ -0,0 +1,47 @@
%module infinity
/* C99 defines INFINITY
Because INFINITY may be defined by compiler built-ins, we can't use #define.
Instead, expose the variable MYINFINITY and then use %rename to make it INFINITY in the scripting language.
*/
%rename(INFINITY) MYINFINITY;
%{
#include <math.h>
/* C99 math.h defines INFINITY. If not available, this is the fallback. */
#ifndef INFINITY
#ifdef _MSC_VER
union MSVC_EVIL_FLOAT_HACK
{
unsigned __int8 Bytes[4];
float Value;
};
static union MSVC_EVIL_FLOAT_HACK INFINITY_HACK = {{0x00, 0x00, 0x80, 0x7F}};
#define INFINITY (INFINITY_HACK.Value)
#endif
#ifdef __GNUC__
#define INFINITY (__builtin_inf())
#elif defined(__clang__)
#if __has_builtin(__builtin_inf)
#define INFINITY (__builtin_inf())
#endif
#endif
#ifndef INFINITY
#define INFINITY (1e1000)
#endif
#endif
%}
%inline %{
/* This will allow us to bind the real INFINITY value through SWIG via MYINFINITY. Use %rename to fix the name. */
const double MYINFINITY = INFINITY;
/* Use of float is intentional because the original bug was in the float conversion due to overflow checking. */
float use_infinity(float inf_val)
{
return inf_val;
}
%}

View file

@ -59,7 +59,7 @@ director_nspace.%: JAVA_PACKAGE = $*Package
director_nspace_director_name_collision.%: JAVA_PACKAGE = $*Package
# Rules for the different types of tests
%.cpptest:
%.cpptest:
$(setup)
+(cd $(JAVA_PACKAGE) && $(swig_and_compile_cpp))
$(run_testcase)
@ -69,7 +69,7 @@ director_nspace_director_name_collision.%: JAVA_PACKAGE = $*Package
+(cd $(JAVA_PACKAGE) && $(swig_and_compile_c))
$(run_testcase)
%.multicpptest:
%.multicpptest:
$(setup)
+(cd $(JAVA_PACKAGE) && $(swig_and_compile_multi_cpp))
$(run_testcase)

View file

@ -0,0 +1,114 @@
#######################################################################
# Makefile for javascript test-suite
#######################################################################
LANGUAGE = javascript
NODEGYP = @NODEGYP@
SCRIPTSUFFIX = _runme.js
srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = @top_builddir@
SWIG = $(top_builddir)/preinst_swig
ifneq (, $(ENGINE))
JSENGINE=$(ENGINE)
else
JSENGINE=node
endif
include $(srcdir)/../common.mk
_setup = \
if [ -f $(srcdir)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) ]; then \
echo "$(ACTION)ing $(LANGUAGE) ($(JSENGINE)) testcase $* (with run test)" ; \
else \
echo "$(ACTION)ing $(LANGUAGE) ($(JSENGINE)) testcase $*" ; \
fi;
ifneq (jsc,$(ENGINE))
# This test can not be run with v8 as it uses v8 API incompatible output typemaps
typemap_variables.cpptest:
echo "skipping $(LANGUAGE) ($(JSENGINE)) testcase typemap_variables" ;
endif
ifeq (node,$(JSENGINE))
SWIGOPT += -v8 -DBUILDING_NODE_EXTENSION=1
# shut up some warnings
# contract macro has an empty 'else' at the end...
aggregate.cpptest: GYP_CFLAGS = \"-Wno-empty-body\"
contract.cpptest: GYP_CFLAGS = \"-Wno-empty-body\"
# dunno... ignoring generously
apply_signed_char.cpptest: GYP_CFLAGS = \"-Wno-ignored-qualifiers\"
constant_pointers.cpptest: GYP_CFLAGS = \"-Wno-ignored-qualifiers\"
enum_thorough.cpptest: GYP_CFLAGS = \"-Wno-ignored-qualifiers\"
# Note: we need to use swig in C parse mode, but make node-gyp believe it is c++ (via file extension)
swig_and_compile_c = \
sh ./setup_test.sh $* $(GYP_CFLAGS); \
$(SWIG) -javascript $(SWIGOPT) -o $*_wrap.cxx ../$*.i; \
$(NODEGYP) --loglevel=silent --directory $* configure build 1>>/dev/null
swig_and_compile_cpp = \
sh ./setup_test.sh $* $(GYP_CFLAGS); \
$(SWIG) -c++ -javascript $(SWIGOPT) ../$*.i; \
$(NODEGYP) --loglevel=silent --directory $* configure build 1>>/dev/null
run_testcase = \
if [ -f $(srcdir)/$*$(SCRIPTSUFFIX) ]; then \
node $(srcdir)/$*$(SCRIPTSUFFIX); \
fi
%.ctest:
$(_setup)
$(swig_and_compile_c)
$(run_testcase)
%.cpptest:
$(_setup)
$(swig_and_compile_cpp)
$(run_testcase)
%.multicpptest:
$(_setup)
else
SWIGOPT += -$(JSENGINE)
run_testcase = \
if [ -f $(srcdir)/$*$(SCRIPTSUFFIX) ]; then \
$(top_srcdir)/Tools/javascript/javascript -$(JSENGINE) $(srcdir)/$*$(SCRIPTSUFFIX); \
fi
%.ctest:
$(_setup)
+$(swig_and_compile_c)
$(run_testcase)
%.cpptest:
$(_setup)
+$(swig_and_compile_cpp)
$(run_testcase)
%.multicpptest:
$(_setup)
+$(swig_and_compile_multi_cpp)
$(run_testcase)
endif
%.clean:
rm -rf $*
clean:
rm -f *_wrap.cxx
rm -f *_wrap.c
rm -f *.so
rm -f *.o

View file

@ -0,0 +1,6 @@
var abstract_access = require("./abstract_access");
var d = new abstract_access.D()
if (d.do_x() != 1) {
throw "Error";
}

View file

@ -0,0 +1,40 @@
var abstract_inherit = require("./abstract_inherit");
// Shouldn't be able to instantiate any of these classes
// since none of them implements the pure virtual function
// declared in the base class (Foo).
var Foo = abstract_inherit.Foo;
var Bar = abstract_inherit.Bar;
var Spam = abstract_inherit.Spam;
var caughtException = false;
try {
new Foo();
} catch (err) {
caughtException = true;
}
if (!caughtException) {
throw new Error("Foo should be instantiated as it is abstract");
}
caughtException = false;
try {
new Bar();
} catch (err) {
caughtException = true;
}
if (!caughtException) {
throw new Error("Bar should be instantiated as it is abstract");
}
caughtException = false;
try {
new Spam();
} catch (err) {
caughtException = true;
}
if (!caughtException) {
throw new Error("Spam should be instantiated as it is abstract");
}

View file

@ -0,0 +1,6 @@
var abstract_typedef2 = require("./abstract_typedef2");
var a = new abstract_typedef2.A_UF();
if (a == undefined)
throw "Error";

View file

@ -0,0 +1,8 @@
var abstract_typedef = require("./abstract_typedef");
var e = new abstract_typedef.Engine();
var a = new abstract_typedef.A()
if (a.write(e) != 1) {
throw "Error";
}

View file

@ -0,0 +1,11 @@
var abstract_virtual = require("./abstract_virtual");
d = new abstract_virtual.D()
if (d == undefined)
throw "Error";
e = new abstract_virtual.E()
if (e == undefined)
throw "Error";

View file

@ -0,0 +1,22 @@
var array_member = require("./array_member");
var f = new array_member.Foo();
f.data = array_member.global_data;
for (var i=0; i<8; i++) {
if (array_member.get_value(f.data,i) != array_member.get_value(array_member.global_data,i)) {
throw "Bad array assignment (1)";
}
}
for (var i=0; i<8; i++) {
array_member.set_value(f.data,i,-i);
}
array_member.global_data = f.data;
for (var i=0; i<8; i++){
if (array_member.get_value(f.data,i) != array_member.get_value(array_member.global_data,i)) {
throw "Bad array assignment (2)";
}
}

View file

@ -0,0 +1,18 @@
var arrays_global = require("./arrays_global");
arrays_global.array_i = arrays_global.array_const_i;
arrays_global.BeginString_FIX44a;
arrays_global.BeginString_FIX44b;
arrays_global.BeginString_FIX44c;
arrays_global.BeginString_FIX44d;
arrays_global.BeginString_FIX44d;
arrays_global.BeginString_FIX44b = "12"+'\0'+"45";
arrays_global.BeginString_FIX44b;
arrays_global.BeginString_FIX44d;
arrays_global.BeginString_FIX44e;
arrays_global.BeginString_FIX44f;
arrays_global.test_a("hello","hi","chello","chi");
arrays_global.test_b("1234567","hi");

View file

@ -0,0 +1,30 @@
var callback = require("./callback");
if (callback.foo(2) !== 2) {
throw new Error("Failed.");
}
if (callback.A_bar(2) !== 4) {
throw new Error("Failed.");
}
if (callback.foobar(3, callback.foo) != callback.foo(3)) {
throw new Error("Failed.");
}
if (callback.foobar(3, foo) != callback.foo(3)) {
throw new Error("Failed.");
}
if (callback.foobar(3, callback.A_bar) != callback.A_bar(3)) {
throw new Error("Failed.");
}
if (callback.foobar(3, callback.foof) != callback.foof(3)) {
throw new Error("Failed.");
}
if (callback.foobar_i(3, callback.foo_i) != callback.foo_i(3)) {
throw new Error("Failed.");
}
if (callback.foobar_d(3.5, callback.foo_d) != callback.foo_d(3.5)) {
throw new Error("Failed.");
}
var a = new callback.A();
if (callback.foobarm(3, a, callback.A.foom_cb_ptr) != a.foom(3)) {
throw new Error("Failed.");
}

View file

@ -0,0 +1,38 @@
var char_binary = require("./char_binary");
var t = new char_binary.Test();
if (t.strlen('hile') != 4) {
print(t.strlen('hile'));
throw("bad multi-arg typemap 1");
}
if (t.strlen('hil\0') != 4) {
throw("bad multi-arg typemap 2");
}
/*
* creating a raw char*
*/
var pc = char_binary.new_pchar(5);
char_binary.pchar_setitem(pc, 0, 'h');
char_binary.pchar_setitem(pc, 1, 'o');
char_binary.pchar_setitem(pc, 2, 'l');
char_binary.pchar_setitem(pc, 3, 'a');
char_binary.pchar_setitem(pc, 4, 0);
if (t.strlen(pc) != 4) {
throw("bad multi-arg typemap (3)");
}
char_binary.var_pchar = pc;
if (char_binary.var_pchar != "hola") {
print(char_binary.var_pchar);
throw("bad pointer case (1)");
}
char_binary.var_namet = pc;
if (char_binary.var_namet != "hola") {
throw("bad pointer case (2)");
}
char_binary.delete_pchar(pc);

View file

@ -0,0 +1,11 @@
var char_strings = require("./char_strings");
var assertIsEqual = function(expected, actual) {
if (expected !== actual) {
throw new Error("Expected "+expected+", was "+actual);
}
};
assertIsEqual("hi there", char_strings.CharPingPong("hi there"));
assertIsEqual("hi there", char_strings.CharArrayPingPong("hi there"));
assertIsEqual("hi there", char_strings.CharArrayDimsPingPong("hi there"));

View file

@ -0,0 +1,6 @@
var class_ignore = require("./class_ignore");
a = new class_ignore.Bar();
if (class_ignore.do_blah(a) != "Bar::blah")
throw "Error";

View file

@ -0,0 +1,6 @@
var class_scope_weird = require("./class_scope_weird");
f = new class_scope_weird.Foo();
g = new class_scope_weird.Foo(3);
if (f.bar(3) != 3)
throw RuntimeError;

View file

@ -0,0 +1,22 @@
var complextest = require("./complextest");
a = [-1,2];
expected = [-1, -2];
a_c = complextest.Conj(a);
if (a_c.toString() != expected.toString())
throw "Error in Conj(a)";
a_c_f = complextest.Conjf(a);
if (a_c_f.toString() != expected.toString())
throw "Error in Conjf(a)";
v = new complextest.VectorStdCplx();
v.add([1,2]);
v.add([2,3]);
v.add([4,3]);
v.add(1);
// TODO: how to check validity?
complextest.Copy_h(v);

View file

@ -0,0 +1,33 @@
var constover = require("./constover");
p = constover.test("test");
if (p != "test") {
throw "test failed!";
}
p = constover.test_pconst("test");
if (p != "test_pconst") {
throw "test_pconst failed!";
}
f = new constover.Foo();
p = f.test("test");
if (p != "test") {
throw "member-test failed!";
}
p = f.test_pconst("test");
if (p != "test_pconst") {
throw "member-test_pconst failed!";
}
p = f.test_constm("test");
if (p != "test_constmethod") {
throw "member-test_constm failed!";
}
p = f.test_pconstm("test");
if (p != "test_pconstmethod") {
throw "member-test_pconstm failed!";
}

View file

@ -0,0 +1,42 @@
var constructor_copy = require("./constructor_copy");
f1 = new constructor_copy.Foo1(3);
f11 = new constructor_copy.Foo1(f1);
if (f1.x != f11.x) {
throw "error in ctor copy for Foo1";
}
var good = 0;
f8 = new constructor_copy.Foo8()
try {
f81 = new constructor_copy.Foo8(f8);
good = 0;
} catch (err) {
good = 1;
}
if (good == 0) {
throw "Error: should not allow calling copy ctor for Foo8";
}
bi = new constructor_copy.Bari(5);
bc = new constructor_copy.Bari(bi);
if (bi.x != bc.x) {
throw "Error in copy ctor of Bari";
}
bd = new constructor_copy.Bard(5);
try {
bc = new constructor_copy.Bard(bd);
good = 0;
} catch (err) {
good = 1;
}
if (good == 0) {
throw "Error: should not allow calling copy ctor for Bard";
}

View file

@ -0,0 +1,28 @@
var cpp_enum = require("./cpp_enum");
var f = new cpp_enum.Foo()
if(f.hola != cpp_enum.Hello){
print(f.hola);
throw "Error";
}
f.hola = cpp_enum.Foo.Hi
if(f.hola != cpp_enum.Foo.Hi){
print(f.hola);
throw "Error";
}
f.hola = cpp_enum.Hello
if(f.hola != cpp_enum.Hello){
print(f.hola);
throw "Error";
}
cpp_enum.Foo.hi = cpp_enum.Hello
if(cpp_enum.Foo.hi != cpp_enum.Hello){
print(cpp_enum.Foo.hi);
throw "Error";
}

View file

@ -0,0 +1,47 @@
var cpp_namespace = require("./cpp_namespace");
var n = cpp_namespace.fact(4);
if (n != 24){
throw ("Bad return value error!");
}
if (cpp_namespace.Foo != 42){
throw ("Bad variable value error!");
}
t = new cpp_namespace.Test();
if (t.method() != "Test::method"){
throw ("Bad method return value error!");
}
if (cpp_namespace.do_method(t) != "Test::method"){
throw ("Bad return value error!");
}
if (cpp_namespace.do_method2(t) != "Test::method"){
throw ("Bad return value error!");
}
cpp_namespace.weird("hello", 4);
delete t;
t2 = new cpp_namespace.Test2();
t3 = new cpp_namespace.Test3();
t4 = new cpp_namespace.Test4();
t5 = new cpp_namespace.Test5();
if (cpp_namespace.foo3(42) != 42){
throw ("Bad return value error!");
}
if (cpp_namespace.do_method3(t2,40) != "Test2::method"){
throw ("Bad return value error!");
}
if (cpp_namespace.do_method3(t3,40) != "Test3::method"){
throw ("Bad return value error!");
}
if (cpp_namespace.do_method3(t4,40) != "Test4::method"){
throw ("Bad return value error!");
}
if (cpp_namespace.do_method3(t5,40) != "Test5::method"){
throw ("Bad return value error!");
}

View file

@ -0,0 +1,9 @@
var cpp_static = require("./cpp_static");
cpp_static.StaticFunctionTest.static_func();
cpp_static.StaticFunctionTest.static_func_2(1);
cpp_static.StaticFunctionTest.static_func_3(1,2);
cpp_static.StaticMemberTest.static_int = 10;
if (cpp_static.StaticMemberTest.static_int != 10)
throw "error";

View file

@ -0,0 +1,5 @@
var director_alternating = require("./director_alternating");
id = director_alternating.getBar().id();
if (id != director_alternating.idFromGetBar())
throw ("Error, Got wrong id: " + str(id));

View file

@ -0,0 +1,22 @@
var disown = require("./disown");
var a = new disown.A();
var tmp = a.thisown;
a.thisown = 0
if (a.thisown) {
throw new Error("Failed.");
}
a.thisown = 1
if (!a.thisown) {
throw new Error("Failed.");
}
a.thisown = tmp
if (a.thisown != tmp) {
throw new Error("Failed.");
}
var b = new disown.B();
b.acquire(a);
if (a.thisown) {
throw new Error("Failed.");
}

View file

@ -0,0 +1,12 @@
var dynamic_cast = require("./dynamic_cast");
var f = new dynamic_cast.Foo();
var b = new dynamic_cast.Bar();
var x = f.blah();
var y = b.blah();
var a = dynamic_cast.do_test(y);
if (a != "Bar::test") {
throw new Error("Failed.");
}

View file

@ -0,0 +1 @@
var empty = require("./empty");

View file

@ -0,0 +1,8 @@
var enum_template = require("./enum_template");
if (enum_template.MakeETest() != 1)
throw "RuntimeError";
if (enum_template.TakeETest(0) != null)
throw "RuntimeError";

View file

@ -0,0 +1,4 @@
var infinity = require("./infinity");
var my_infinity = infinity.INFINITY;
var ret_val = infinity.use_infinity(my_infinity);

View file

@ -0,0 +1,3 @@
var namespace_virtual_method = require("./namespace_virtual_method");
x = new namespace_virtual_method.Spam();

View file

@ -0,0 +1,30 @@
{
"targets": [
{
"target_name": "$testcase",
"sources":[ "../$testcase_wrap.cxx" ],
"include_dirs": ["../.."],
'defines': [
'BUILDING_NODE_EXTENSION=1',
],
'conditions': [
['OS=="mac"',
{
'xcode_settings': {
'GCC_ENABLE_CPP_RTTI': 'YES',
'GCC_ENABLE_CPP_EXCEPTIONS' : 'YES'
}
}
],
['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"',
{
'cflags': [ "-Wno-unused-variable", "-Wno-unused-but-set-variable", "-Wno-unused-but-set-parameter", $cflags],
'cflags_cc': [ "-Wno-unused-variable", "-Wno-unused-but-set-variable", "-Wno-unused-but-set-parameter", $cflags],
'cflags!': [ '-fno-exceptions' ],
'cflags_cc!': [ '-fno-exceptions', '-fno-rtti' ]
}
]
],
}
],
}

View file

@ -0,0 +1 @@
module.exports = require('./build/Release/$testcase');

View file

@ -0,0 +1,27 @@
var nspace_extend = require("./nspace_extend");
// constructors and destructors
var color1 = new nspace_extend.Outer.Inner1.Color();
var color = new nspace_extend.Outer.Inner1.Color(color1);
delete color1;
// class methods
color.colorInstanceMethod(20.0);
nspace_extend.Outer.Inner1.Color.colorStaticMethod(20.0);
var created = nspace_extend.Outer.Inner1.Color.create();
// constructors and destructors
var color2 = new nspace_extend.Outer.Inner2.Color();
color = new nspace_extend.Outer.Inner2.Color(color2);
delete color2;
// class methods
color.colorInstanceMethod(20.0);
nspace_extend.Outer.Inner2.Color.colorStaticMethod(20.0);
created = nspace_extend.Outer.Inner2.Color.create();
// Same class different namespaces
var col1 = new nspace_extend.Outer.Inner1.Color();
var col2 = nspace_extend.Outer.Inner2.Color.create();
col2.colors(col1, col1, col2, col2, col2);

View file

@ -0,0 +1,76 @@
var nspace = require("./nspace");
var color1 = new nspace.Outer.Inner1.Color();
var color = new nspace.Outer.Inner1.Color(color1);
delete color1;
// class methods
color.colorInstanceMethod(20.0);
nspace.Outer.Inner1.Color.colorStaticMethod(20.0);
var created = nspace.Outer.Inner1.Color.create();
// class enums
var someClass = new nspace.Outer.SomeClass();
var channel = someClass.GetInner1ColorChannel();
if (channel != nspace.Outer.Inner1.Color.Transmission) {
throw new Error("Failed.");
}
// class anonymous enums
var val1 = nspace.Outer.Inner1.Color.ColorEnumVal1;
var val2 = nspace.Outer.Inner1.Color.ColorEnumVal2;
if (val1 !== 0 || val2 !== 0x22) {
throw new Error("Failed.");
}
// instance member variables
color.instanceMemberVariable = 123;
if (color.instanceMemberVariable !== 123) {
throw new Error("Failed.");
}
// static member variables
nspace.Outer.Inner1.Color.staticMemberVariable = 789;
if (nspace.Outer.Inner1.Color.staticMemberVariable !== 789) {
throw new Error("Failed.");
}
if (nspace.Outer.Inner1.Color.staticConstMemberVariable !== 222) {
throw new Error("Failed.");
}
if (nspace.Outer.Inner1.Color.staticConstEnumMemberVariable !== nspace.Outer.Inner1.Color.Transmission) {
throw new Error("Failed.");
}
// Same class different namespaces
var col1 = new nspace.Outer.Inner1.Color();
var col2 = nspace.Outer.Inner2.Color.create();
col2.colors(col1, col1, col2, col2, col2);
nspace.Outer.Inner1.namespaceFunction(color);
nspace.Outer.Inner1.namespaceVar = 111;
if (nspace.Outer.Inner1.namespaceVar !== 111) {
throw new Error("Failed.");
}
// global enums
var outerChannel1 = someClass.GetInner1Channel();
if (outerChannel1 != nspace.Outer.Inner1.Transmission1) {
throw new Error("Failed.");
}
var outerChannel2 = someClass.GetInner2Channel();
if (outerChannel2 !== nspace.Outer.Inner2.Transmission2) {
throw new Error("Failed.");
}
// turn feature off / ignoring
var ns = new nspace.Outer.namespce();
var nons = new nspace.NoNSpacePlease();
// Derived class
var blue3 = new nspace.Outer.Inner3.Blue();
blue3.blueInstanceMethod();
var blue4 = new nspace.Outer.Inner4.Blue();
blue4.blueInstanceMethod();

View file

@ -0,0 +1,4 @@
var overload_copy = require("./overload_copy");
f = new overload_copy.Foo();
g = new overload_copy.Foo(f);

View file

@ -0,0 +1,23 @@
var preproc_include = require("./preproc_include");
if (preproc_include.multiply10(10) != 100)
throw "RuntimeError";
if (preproc_include.multiply20(10) != 200)
throw "RuntimeError";
if (preproc_include.multiply30(10) != 300)
throw "RuntimeError";
if (preproc_include.multiply40(10) != 400)
throw "RuntimeError";
if (preproc_include.multiply50(10) != 500)
throw "RuntimeError";
if (preproc_include.multiply60(10) != 600)
throw "RuntimeError";
if (preproc_include.multiply70(10) != 700)
throw "RuntimeError";

View file

@ -0,0 +1,14 @@
var preproc = require("./preproc");
if (preproc.endif != 1)
throw "RuntimeError";
if (preproc.define != 1)
throw "RuntimeError";
if (preproc.defined != 1)
throw "RuntimeError";
if (2*preproc.one != preproc.two)
throw "RuntimeError";

View file

@ -0,0 +1,68 @@
var rename = require("./rename1");
function part1() {
var xyz = new rename.XYZInt();
notxyz = new rename.NotXYZInt();
xyz.opIntPtrA();
xyz.opIntPtrB();
xyz.opAnother2();
xyz.opT2();
xyz.tMethod2(0);
xyz.tMethodNotXYZ2(notxyz);
xyz.opNotXYZ2();
xyz.opXYZ2();
}
function part2() {
var xyz = new rename.XYZDouble();
var notxyz = new rename.NotXYZDouble();
xyz.opIntPtrA();
xyz.opIntPtrB();
xyz.opAnother1();
xyz.opT1();
xyz.tMethod1(0);
xyz.tMethodNotXYZ1(notxyz);
xyz.opNotXYZ1();
xyz.opXYZ1();
}
function part3(){
var xyz = new rename.XYZKlass();
var notxyz = new rename.NotXYZKlass();
xyz.opIntPtrA();
xyz.opIntPtrB();
xyz.opAnother3();
xyz.opT3();
xyz.tMethod3(new rename.Klass());
xyz.tMethodNotXYZ3(notxyz);
xyz.opNotXYZ3();
xyz.opXYZ3();
}
function part4() {
var xyz = new rename.XYZEnu();
var notxyz = new rename.NotXYZEnu();
xyz.opIntPtrA();
xyz.opIntPtrB();
xyz.opAnother4();
xyz.opT4();
xyz.tMethod4(rename.En1);
xyz.tMethodNotXYZ4(notxyz);
xyz.opNotXYZ4();
xyz.opXYZ4();
}
function part5() {
var abc = new rename.ABC();
abc.methodABC(abc);
var k = new rename.Klass();
abc.methodKlass(k);
var a = abc.opABC();
k = abc.opKlass();
}
part1();
part2();
part3();
part4();
part5();

View file

@ -0,0 +1,68 @@
var rename = require("./rename2");
function part1() {
var xyz = new rename.XYZInt();
notxyz = new rename.NotXYZInt();
xyz.opIntPtrA();
xyz.opIntPtrB();
xyz.opAnother2();
xyz.opT2();
xyz.tMethod2(0);
xyz.tMethodNotXYZ2(notxyz);
xyz.opNotXYZ2();
xyz.opXYZ2();
}
function part2() {
var xyz = new rename.XYZDouble();
var notxyz = new rename.NotXYZDouble();
xyz.opIntPtrA();
xyz.opIntPtrB();
xyz.opAnother1();
xyz.opT1();
xyz.tMethod1(0);
xyz.tMethodNotXYZ1(notxyz);
xyz.opNotXYZ1();
xyz.opXYZ1();
}
function part3(){
var xyz = new rename.XYZKlass();
var notxyz = new rename.NotXYZKlass();
xyz.opIntPtrA();
xyz.opIntPtrB();
xyz.opAnother3();
xyz.opT3();
xyz.tMethod3(new rename.Klass());
xyz.tMethodNotXYZ3(notxyz);
xyz.opNotXYZ3();
xyz.opXYZ3();
}
function part4() {
var xyz = new rename.XYZEnu();
var notxyz = new rename.NotXYZEnu();
xyz.opIntPtrA();
xyz.opIntPtrB();
xyz.opAnother4();
xyz.opT4();
xyz.tMethod4(rename.En1);
xyz.tMethodNotXYZ4(notxyz);
xyz.opNotXYZ4();
xyz.opXYZ4();
}
function part5() {
var abc = new rename.ABC();
abc.methodABC(abc);
var k = new rename.Klass();
abc.methodKlass(k);
var a = abc.opABC();
k = abc.opKlass();
}
part1();
part2();
part3();
part4();
part5();

View file

@ -0,0 +1,68 @@
var rename = require("./rename3");
function part1() {
var xyz = new rename.XYZInt();
notxyz = new rename.NotXYZInt();
xyz.opIntPtrA();
xyz.opIntPtrB();
xyz.opAnother2();
xyz.opT2();
xyz.tMethod2(0);
xyz.tMethodNotXYZ2(notxyz);
xyz.opNotXYZ2();
xyz.opXYZ2();
}
function part2() {
var xyz = new rename.XYZDouble();
var notxyz = new rename.NotXYZDouble();
xyz.opIntPtrA();
xyz.opIntPtrB();
xyz.opAnother1();
xyz.opT1();
xyz.tMethod1(0);
xyz.tMethodNotXYZ1(notxyz);
xyz.opNotXYZ1();
xyz.opXYZ1();
}
function part3(){
var xyz = new rename.XYZKlass();
var notxyz = new rename.NotXYZKlass();
xyz.opIntPtrA();
xyz.opIntPtrB();
xyz.opAnother3();
xyz.opT3();
xyz.tMethod3(new rename.Klass());
xyz.tMethodNotXYZ3(notxyz);
xyz.opNotXYZ3();
xyz.opXYZ3();
}
function part4() {
var xyz = new rename.XYZEnu();
var notxyz = new rename.NotXYZEnu();
xyz.opIntPtrA();
xyz.opIntPtrB();
xyz.opAnother4();
xyz.opT4();
xyz.tMethod4(rename.En1);
xyz.tMethodNotXYZ4(notxyz);
xyz.opNotXYZ4();
xyz.opXYZ4();
}
function part5() {
var abc = new rename.ABC();
abc.methodABC(abc);
var k = new rename.Klass();
abc.methodKlass(k);
var a = abc.opABC();
k = abc.opKlass();
}
part1();
part2();
part3();
part4();
part5();

View file

@ -0,0 +1,68 @@
var rename = require("./rename4");
function part1() {
var xyz = new rename.XYZInt();
notxyz = new rename.NotXYZInt();
xyz.opIntPtrA();
xyz.opIntPtrB();
xyz.opAnother2();
xyz.opT2();
xyz.tMethod2(0);
xyz.tMethodNotXYZ2(notxyz);
xyz.opNotXYZ2();
xyz.opXYZ2();
}
function part2() {
var xyz = new rename.XYZDouble();
var notxyz = new rename.NotXYZDouble();
xyz.opIntPtrA();
xyz.opIntPtrB();
xyz.opAnother1();
xyz.opT1();
xyz.tMethod1(0);
xyz.tMethodNotXYZ1(notxyz);
xyz.opNotXYZ1();
xyz.opXYZ1();
}
function part3(){
var xyz = new rename.XYZKlass();
var notxyz = new rename.NotXYZKlass();
xyz.opIntPtrA();
xyz.opIntPtrB();
xyz.opAnother3();
xyz.opT3();
xyz.tMethod3(new rename.Klass());
xyz.tMethodNotXYZ3(notxyz);
xyz.opNotXYZ3();
xyz.opXYZ3();
}
function part4() {
var xyz = new rename.XYZEnu();
var notxyz = new rename.NotXYZEnu();
xyz.opIntPtrA();
xyz.opIntPtrB();
xyz.opAnother4();
xyz.opT4();
xyz.tMethod4(rename.En1);
xyz.tMethodNotXYZ4(notxyz);
xyz.opNotXYZ4();
xyz.opXYZ4();
}
function part5() {
var abc = new rename.ABC();
abc.methodABC(abc);
var k = new rename.Klass();
abc.methodKlass(k);
var a = abc.opABC();
k = abc.opKlass();
}
part1();
part2();
part3();
part4();
part5();

View file

@ -0,0 +1,17 @@
var rename_scope = require("./rename_scope");
var a = new rename_scope.Natural_UP();
var b = new rename_scope.Natural_BP();
if (a.rtest() !== 1) {
throw new Error("a.rtest(): Expected 1, was " + a.rtest());
}
if (b.rtest() !== 1) {
throw new Error("b.rtest(): Expected 1, was " + b.rtest());
}
var f = rename_scope.equals;
if (f === undefined) {
throw new Error("Equality operator has not been renamed.");
}

View file

@ -0,0 +1,50 @@
var rename_simple = require("./rename_simple");
var NewStruct = rename_simple.NewStruct;
var s = new NewStruct();
// renamed instance variable
if (s.NewInstanceVariable !== 111) {
throw new Error("NewInstanceVariable: Expected 111, was " + s.NewInstanceVariable);
}
// renamed instance method
if (s.NewInstanceMethod() !== 222) {
throw new Error("NewInstanceMethod(): Expected 222, was " + s.NewInstanceMethod());
}
// renamed static method
if (NewStruct.NewStaticMethod() !== 333) {
throw new Error("NewInstanceMethod(): Expected 333, was " + NewStruct.NewStaticMethod());
}
// renamed static variable
if (NewStruct.NewStaticVariable !== 444) {
throw new Error("NewInstanceMethod(): Expected 444, was " + NewStruct.NewStaticVariable);
}
// renamed global function
if (rename_simple.NewFunction() !== 555) {
throw new Error("rename_simple.NewFunction(): Expected 555, was " + rename_simple.NewFunction());
}
// renamed global variable
if (rename_simple.NewGlobalVariable !== 666) {
throw new Error("rename_simple.NewGlobalVariable: Expected 666, was " + rename_simple.NewGlobalVariable);
}
// setting renamed variables
s.NewInstanceVariable = 1111;
if (s.NewInstanceVariable !== 1111) {
throw new Error("NewInstanceVariable: Expected 1111, was " + s.NewInstanceVariable);
}
NewStruct.NewStaticVariable = 4444;
if (NewStruct.NewStaticVariable !== 4444) {
throw new Error("NewInstanceMethod(): Expected 4444, was " + NewStruct.NewStaticVariable);
}
rename_simple.NewGlobalVariable = 6666;
if (rename_simple.NewGlobalVariable !== 6666) {
throw new Error("rename_simple.NewGlobalVariable: Expected 6666, was " + rename_simple.NewGlobalVariable);
}

View file

@ -0,0 +1,8 @@
var ret_by_value = require("./ret_by_value");
a = ret_by_value.get_test();
if (a.myInt != 100)
throw "RuntimeError";
if (a.myShort != 200)
throw "RuntimeError";

View file

@ -0,0 +1,6 @@
#!/bin/sh
if [ ! -d $1 ]; then
mkdir $1;
fi
sed -e "s/\$testcase/$1/" -e "s/\$cflags/$2/" < node_template/binding.gyp.in > $1/binding.gyp
sed s/\$testcase/$1/ node_template/index.js.in > $1/index.js

View file

@ -0,0 +1,10 @@
var string_simple = require("./string_simple");
// Test unicode string
var str = "olé";
var copy = string_simple.copy_string(str);
if (str !== copy) {
throw "Error: copy is not equal: original="+str+", copy="+copy;
}

View file

@ -0,0 +1,11 @@
var struct_value = require("./struct_value");
b = new struct_value.Bar();
b.a.x = 3;
if (b.a.x != 3)
throw "RuntimeError";
b.b.x = 3;
if (b.b.x != 3)
throw "RuntimeError"

View file

@ -0,0 +1,3 @@
var template_static = require("./template_static");
template_static.Foo.bar_double(1);

View file

@ -0,0 +1,7 @@
var typedef_class = require("./typedef_class");
a = new typedef_class.RealA();
a.a = 3;
b = new typedef_class.B();
b.testA(a);

View file

@ -0,0 +1,23 @@
var typedef_inherit = require("./typedef_inherit");
a = new typedef_inherit.Foo();
b = new typedef_inherit.Bar();
x = typedef_inherit.do_blah(a);
if (x != "Foo::blah")
print("Whoa! Bad return" + x);
x = typedef_inherit.do_blah(b);
if (x != "Bar::blah")
print("Whoa! Bad return" + x);
c = new typedef_inherit.Spam();
d = new typedef_inherit.Grok();
x = typedef_inherit.do_blah2(c);
if (x != "Spam::blah")
print("Whoa! Bad return" + x);
x = typedef_inherit.do_blah2(d);
if (x != "Grok::blah")
print ("Whoa! Bad return" + x);

View file

@ -0,0 +1,12 @@
var typedef_scope = require("./typedef_scope");
b = new typedef_scope.Bar();
x = b.test1(42,"hello");
if (x != 42)
print("Failed!!");
x = b.test2(42,"hello");
if (x != "hello")
print("Failed!!");

View file

@ -0,0 +1,5 @@
var typemap_arrays = require("./typemap_arrays");
if (typemap_arrays.sumA(null) != 60)
throw "RuntimeError, Sum is wrong";

View file

@ -0,0 +1,5 @@
var typemap_delete = require("./typemap_delete");
r = new typemap_delete.Rect(123);
if (r.val != 123)
throw "RuntimeError";

View file

@ -0,0 +1,7 @@
var typemap_namespace = require("./typemap_namespace");
if (typemap_namespace.test1("hello") != "hello")
throw "RuntimeError";
if (typemap_namespace.test2("hello") != "hello")
throw "RuntimeError";

View file

@ -0,0 +1,4 @@
var typemap_ns_using = require("./typemap_ns_using");
if (typemap_ns_using.spam(37) != 37)
throw "RuntimeError";

View file

@ -0,0 +1,4 @@
var using1 = require("./using1");
if (using1.spam(37) != 37)
throw "RuntimeError";

View file

@ -0,0 +1,4 @@
var using2 = require("./using2");
if (using2.spam(37) != 37)
throw "RuntimeError";

View file

@ -0,0 +1,44 @@
var varargs = require("./varargs");
if (varargs.test("Hello") != "Hello") {
throw new Error("Failed");
}
var f = new varargs.Foo("Greetings")
if (f.str != "Greetings") {
throw new Error("Failed");
}
if (f.test("Hello") != "Hello") {
throw new Error("Failed");
}
if (varargs.test_def("Hello",1) != "Hello") {
throw new Error("Failed");
}
if (varargs.test_def("Hello") != "Hello") {
throw new Error("Failed");
}
if (varargs.test_plenty("Hello") != "Hello") {
throw new Error("Failed");
}
if (varargs.test_plenty("Hello", 1) != "Hello") {
throw new Error("Failed");
}
if (varargs.test_plenty("Hello", 1, 2) != "Hello") {
throw new Error("Failed");
}
var thrown = false;
try {
varargs.test_plenty("Hello", 1, 2, 3);
} catch (err) {
thrown = true;
}
if (!thrown) {
throw new Error("Failed");
}

View file

@ -28,7 +28,7 @@ LIBS = -L.
lua_no_module_global.%: SWIGOPT += -nomoduleglobal
# Rules for the different types of tests
%.cpptest:
%.cpptest:
$(setup)
+$(swig_and_compile_cpp)
$(run_testcase)
@ -38,7 +38,7 @@ lua_no_module_global.%: SWIGOPT += -nomoduleglobal
+$(swig_and_compile_c)
$(run_testcase)
%.multicpptest:
%.multicpptest:
$(setup)
+$(swig_and_compile_multi_cpp)
$(run_testcase)
@ -52,7 +52,7 @@ run_testcase = \
# Clean: (does nothing, we dont generate extra lua code)
%.clean:
@exit 0
clean:
$(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile lua_clean
@ -60,5 +60,5 @@ clean:
cvsignore:
@echo '*wrap* *.so *.dll *.exp *.lib'
@echo Makefile
@for i in ${CPP_TEST_CASES} ${C_TEST_CASES}; do echo $$i.lua; done
@for i in ${CPP_TEST_CASES} ${C_TEST_CASES}; do if grep -q $${i}_runme.lua CVS/Entries ; then echo $${i}_runme.lua; fi; done
@for i in ${CPP_TEST_CASES} ${C_TEST_CASES}; do echo $$i.lua; done
@for i in ${CPP_TEST_CASES} ${C_TEST_CASES}; do if grep -q $${i}_runme.lua CVS/Entries ; then echo $${i}_runme.lua; fi; done

View file

@ -79,7 +79,7 @@ assert(tostring(Op(1))=="Op(1)")
assert(tostring(Op(-3))=="Op(-3)")
-- check that operator overloads is correctly propogated accross hierarchy
-- check that operator overloads are correctly propogated down inheritance hierarchy
a_d=OpDerived()
b_d=OpDerived(5)

View file

@ -18,7 +18,7 @@ include $(srcdir)/../common.mk
# none!
# Rules for the different types of tests
%.cpptest:
%.cpptest:
$(setup)
+$(swig_and_compile_cpp)
$(run_testcase)
@ -28,7 +28,7 @@ include $(srcdir)/../common.mk
+$(swig_and_compile_c)
$(run_testcase)
%.multicpptest:
%.multicpptest:
$(setup)
+$(swig_and_compile_multi_cpp)
$(run_testcase)
@ -42,7 +42,7 @@ run_testcase = \
# Clean
%.clean:
@exit 0
clean:
$(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile mzscheme_clean

View file

@ -2,7 +2,7 @@
%module nspace
// nspace feature only supported by these languages
#if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGD) || defined(SWIGLUA)
#if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGD) || defined(SWIGLUA) || defined(SWIGJAVASCRIPT)
#if defined(SWIGJAVA)
SWIG_JAVABODY_PROXY(public, public, SWIGTYPE)

View file

@ -2,7 +2,7 @@
%module nspace_extend
// nspace feature only supported by these languages
#if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGD) || defined(SWIGLUA)
#if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGD) || defined(SWIGLUA) || defined(SWIGJAVASCRIPT)
#if defined(SWIGJAVA)
SWIG_JAVABODY_PROXY(public, public, SWIGTYPE)

View file

@ -10,7 +10,7 @@ srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = @top_builddir@
C_TEST_CASES =
C_TEST_CASES =
run_testcase = \
if [ -f $(srcdir)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) -a \
@ -21,7 +21,7 @@ run_testcase = \
$(COMPILETOOL) $(OCAMLC) -c $(srcdir)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX); \
$(COMPILETOOL) $(OCAMLC) swig.cmo -custom -g -cc '$(CXX)' -o runme $(srcdir)/$(*).cmo $(srcdir)/$(*)_runme.cmo $(srcdir)/$(*)_wrap.o && \
$(RUNTOOL) ./runme; \
fi ;
fi ;
check_quant:
cat /dev/null > testing

0
Examples/test-suite/ocaml/makedebugtop Executable file → Normal file
View file

View file

@ -21,7 +21,7 @@ CPP_TEST_BROKEN += \
li_std_set \
li_std_stream
#C_TEST_CASES +=
#C_TEST_CASES +=
#
# This test only works with modern C compilers
@ -39,7 +39,7 @@ CSRCS = $(srcdir)/octave_empty.c
# none!
# Rules for the different types of tests
%.cpptest:
%.cpptest:
$(setup)
+$(swig_and_compile_cpp)
$(run_testcase)
@ -49,7 +49,7 @@ CSRCS = $(srcdir)/octave_empty.c
+$(swig_and_compile_c)
$(run_testcase)
%.multicpptest:
%.multicpptest:
$(setup)
+$(swig_and_compile_multi_cpp)
$(run_testcase)
@ -72,13 +72,13 @@ clean:
cvsignore:
@echo '*wrap* *.mc *.so *.dll *.exp *.lib'
@echo Makefile
@for i in ${CPP_TEST_CASES} ${C_TEST_CASES}; do echo $$i.m; done
@for i in ${CPP_TEST_CASES} ${C_TEST_CASES}; do if grep -q $${i}_runme.m CVS/Entries ; then echo $${i}_runme.m; fi; done
@echo clientdata_prop_a.m
@echo clientdata_prop_b.m
@echo imports_a.m
@echo imports_b.m
@echo mod_a.m mod_b.m
@for i in ${CPP_TEST_CASES} ${C_TEST_CASES}; do echo $$i.m; done
@for i in ${CPP_TEST_CASES} ${C_TEST_CASES}; do if grep -q $${i}_runme.m CVS/Entries ; then echo $${i}_runme.m; fi; done
@echo clientdata_prop_a.m
@echo clientdata_prop_b.m
@echo imports_a.m
@echo imports_b.m
@echo mod_a.m mod_b.m
@echo hugemod.h hugemod_a.i hugemod_b.i hugemod_a.m hugemod_b.m hugemod_runme.m
@echo template_typedef_import.m

0
Examples/test-suite/octave/iadd_runme.m Executable file → Normal file
View file

View file

View file

@ -31,7 +31,7 @@ include $(srcdir)/../common.mk
# none!
# Rules for the different types of tests
%.cpptest:
%.cpptest:
$(setup)
+$(swig_and_compile_cpp)
$(run_testcase)
@ -41,7 +41,7 @@ include $(srcdir)/../common.mk
+$(swig_and_compile_c)
$(run_testcase)
%.multicpptest:
%.multicpptest:
$(setup)
+$(swig_and_compile_multi_cpp)
$(run_testcase)

0
Examples/test-suite/perl5/char_binary_runme.pl Executable file → Normal file
View file

0
Examples/test-suite/perl5/class_ignore_runme.pl Executable file → Normal file
View file

0
Examples/test-suite/perl5/contract_runme.pl Executable file → Normal file
View file

0
Examples/test-suite/perl5/enum_template_runme.pl Executable file → Normal file
View file

0
Examples/test-suite/perl5/grouping_runme.pl Executable file → Normal file
View file

0
Examples/test-suite/perl5/ignore_parameter_runme.pl Executable file → Normal file
View file

0
Examples/test-suite/perl5/inherit_missing_runme.pl Executable file → Normal file
View file

0
Examples/test-suite/perl5/li_std_except_runme.pl Executable file → Normal file
View file

0
Examples/test-suite/perl5/minherit_runme.pl Executable file → Normal file
View file

0
Examples/test-suite/perl5/naturalvar_runme.pl Executable file → Normal file
View file

0
Examples/test-suite/perl5/preproc_runme.pl Executable file → Normal file
View file

0
Examples/test-suite/perl5/primitive_types_runme.pl Executable file → Normal file
View file

View file

0
Examples/test-suite/perl5/rename_scope_runme.pl Executable file → Normal file
View file

0
Examples/test-suite/perl5/return_const_value_runme.pl Executable file → Normal file
View file

0
Examples/test-suite/perl5/run-perl-test.pl Executable file → Normal file
View file

0
Examples/test-suite/perl5/sizet_runme.pl Executable file → Normal file
View file

0
Examples/test-suite/perl5/sneaky1_runme.pl Executable file → Normal file
View file

Some files were not shown because too many files have changed in this diff Show more