summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Friedrich <friedrich.at.gc@googlemail.com>2022-09-18 19:40:37 +0200
committerMarkus Friedrich <friedrich.at.gc@googlemail.com>2022-09-18 19:40:37 +0200
commit720c28f1ed068b17a5df89e2571a1208b79f5e22 (patch)
treeebe3b245acaccf49ef987879104a812c92160ffd
parente97181ebc07a4755c1ab3e6f08eef12a3f9de07e (diff)
downloadswig-720c28f1ed068b17a5df89e2571a1208b79f5e22.tar.gz
Reenable and fix octave horzcat operator test
This test was disabled with 0a0743f25cc0bbb395d03a27ac62887c8cbee5cf since it fails with octave 7.2.0 The test function horzcat now uses a variable length argument list to fix this. Before octave 7 it seems to be possible to call a N-argument octave function with > N arguments without any error. With octave 7 this seems no longer to be possible which caused the test failure.
-rw-r--r--Examples/octave/operator/@swig_ref/horzcat.m9
-rw-r--r--Examples/octave/operator/runme.m5
2 files changed, 8 insertions, 6 deletions
diff --git a/Examples/octave/operator/@swig_ref/horzcat.m b/Examples/octave/operator/@swig_ref/horzcat.m
index 00fdfd5ce..6d4a55b20 100644
--- a/Examples/octave/operator/@swig_ref/horzcat.m
+++ b/Examples/octave/operator/@swig_ref/horzcat.m
@@ -1,6 +1,9 @@
% test octaves concatenation operator
-function ret=horzcat(a, b)
- % return the concatenation of two ComplexVal values as a cell array.
+function ret=horzcat(varargin)
+ % return the concatenation of several ComplexVal values as a cell array.
% (not really useful but it tests the concatenation of swig_ref objects)
- ret={a, b};
+ ret={};
+ for i=1:length(varargin)
+ ret{i}=varargin{i};
+ end
end
diff --git a/Examples/octave/operator/runme.m b/Examples/octave/operator/runme.m
index 41c2c14a7..ff8b594da 100644
--- a/Examples/octave/operator/runme.m
+++ b/Examples/octave/operator/runme.m
@@ -47,6 +47,5 @@ if swig_octave_prereq(3,8,0)
endif
# concatenation operator, note: calls @swig_ref/horzcat.m
-# g = [a, b, c];
-# printf("g = %s\n",disp(g));
-# Above temporarily removed as broken in octave-7.2.0, see https://github.com/swig/swig/issues/2353
+g = [a, b, c];
+printf("g = %s\n",disp(g));