From 720c28f1ed068b17a5df89e2571a1208b79f5e22 Mon Sep 17 00:00:00 2001 From: Markus Friedrich Date: Sun, 18 Sep 2022 19:40:37 +0200 Subject: [PATCH] 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. --- Examples/octave/operator/@swig_ref/horzcat.m | 9 ++++++--- Examples/octave/operator/runme.m | 5 ++--- 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));