summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Wang <joequant@gmail.com>2009-01-12 07:41:38 +0000
committerJoseph Wang <joequant@gmail.com>2009-01-12 07:41:38 +0000
commit2854ceef44e758f8cc85f4e0e7822e7bd386d1fc (patch)
treef8eefe0a26914f0452672ccc4821c896853bd30c
parentecdd24a508c859c591a0b063100ed3b8de8b76a7 (diff)
downloadswig-2854ceef44e758f8cc85f4e0e7822e7bd386d1fc.tar.gz
Add regression tests for R
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11057 626c5289-ae23-0410-ae9c-e8d60b6d4f22
-rw-r--r--Examples/test-suite/li_std_vector.i2
-rw-r--r--Examples/test-suite/r/arrays_dimensionless_runme.R20
-rw-r--r--Examples/test-suite/template_typedef_funcptr.i5
-rw-r--r--Examples/test-suite/types_directive.i8
4 files changed, 35 insertions, 0 deletions
diff --git a/Examples/test-suite/li_std_vector.i b/Examples/test-suite/li_std_vector.i
index 587ea2217..c6e2ea9ad 100644
--- a/Examples/test-suite/li_std_vector.i
+++ b/Examples/test-suite/li_std_vector.i
@@ -85,8 +85,10 @@ SWIG_STD_VECTOR_SPECIALIZE(SWIGTYPE_p_int, const int *)
%template(StructureConstPtrVector) std::vector<const Structure *>;
#endif
+#if !defined(SWIGR)
%template(IntPtrVector) std::vector<int *>;
%template(IntConstPtrVector) std::vector<const int *>;
+#endif
%template(StructVector) std::vector<Struct>;
%template(StructPtrVector) std::vector<Struct *>;
%template(StructConstPtrVector) std::vector<const Struct *>;
diff --git a/Examples/test-suite/r/arrays_dimensionless_runme.R b/Examples/test-suite/r/arrays_dimensionless_runme.R
new file mode 100644
index 000000000..9b97de2d8
--- /dev/null
+++ b/Examples/test-suite/r/arrays_dimensionless_runme.R
@@ -0,0 +1,20 @@
+source("unittest.R")
+dyn.load(paste("arrays_dimensionless", .Platform$dynlib.ext, sep=""))
+source("arrays_dimensionless.R")
+cacheMetaData(1)
+
+unittest(arr_short(1:4, 3), 6)
+unittest(arr_ushort(1:4, 3), 6)
+unittest(arr_int(1:4, 3), 6)
+unittest(arr_uint(1:4, 3), 6)
+unittest(arr_long(1:4, 3), 6)
+unittest(arr_ulong(1:4, 3), 6)
+unittest(arr_ll(1:4, 3), 6)
+unittest(arr_ull(1:4, 3), 6)
+unittest(arr_float(as.numeric(1:4), 3), 6)
+unittest(arr_double(as.numeric(1:4), 3), 6)
+
+q(save="no")
+
+
+
diff --git a/Examples/test-suite/template_typedef_funcptr.i b/Examples/test-suite/template_typedef_funcptr.i
index 0175c7516..cec43e7c8 100644
--- a/Examples/test-suite/template_typedef_funcptr.i
+++ b/Examples/test-suite/template_typedef_funcptr.i
@@ -2,6 +2,10 @@
//Bug #1832613
+#if !defined(SWIGR)
+// R Swig fails on this test. Because it tries to return a nil SEXP in
+// an error
+
%include <std_string.i>
%inline %{
@@ -46,3 +50,4 @@ typedef MCContractPtr* ContractPtrPtr;
// Plain pointers were also causing problems...
%template(MCContractFactory2) ContractFactory<MCContract, std::string, ContractPtrPtr>;
+#endif
diff --git a/Examples/test-suite/types_directive.i b/Examples/test-suite/types_directive.i
index 44312263d..26cb6aeeb 100644
--- a/Examples/test-suite/types_directive.i
+++ b/Examples/test-suite/types_directive.i
@@ -1,5 +1,13 @@
%module types_directive
+#if defined(SWIGR)
+// Avoid conflict with Date class in R
+#define Date DateSwig
+%inline %{
+#define Date DateSwig
+%}
+#endif
+
%ignore Time2::operator Date *;
%inline %{