bug #14573: varargout misworked when it was used in addition to fixed output arguments
[scilab.git] / scilab / modules / core / tests / unit_tests / varargout.tst
index 274bd4a..6a19ec9 100644 (file)
@@ -4,7 +4,9 @@
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
-
+//
+// <-- CLI SHELL MODE -->
+// <-- NO CHECK REF -->
 //
 // Return 3 values
 //
@@ -36,13 +38,8 @@ clear b;
 clear c;
 
 // Check call with too much output values.
-<<<<<<< HEAD
-ierr = execstr("[a,b,c,d] = __test_function__();", "errcatch")
-if ierr == 0 then pause, end;
-=======
 ierr = execstr("[a,b,c,d] = __test_function__();", "errcatch");
 assert_checkfalse(ierr == 0);
->>>>>>> origin/master
 
 //
 // Return a list of 3 elements with second missing.
@@ -61,21 +58,20 @@ clear a;
 
 // varargout(2) is undefined
 ierr = execstr("[a,b] = __test_function2__();", "errcatch");
-<<<<<<< HEAD
-if ierr == 0 then pause, end;
-=======
 assert_checkfalse(ierr == 0);
->>>>>>> origin/master
 
-//
-// varargout is not set : should not work.
-//
+// empty list
 function varargout=__test_function3__()
+  varargout = list();
 endfunction
 
-ierr = execstr("__test_function3__();", "errcatch");
-<<<<<<< HEAD
-if ierr == 0 then pause, end;
-=======
-assert_checkfalse(ierr == 0);
->>>>>>> origin/master
+msg = msprintf(_("%s: Wrong number of output argument(s): %d expected.\n"), "__test_function3__", 0);
+assert_checkerror("a = __test_function3__()", msg);
+
+// wrong varargout type
+function varargout=__test_function4__()
+  varargout = 42;
+endfunction
+
+msg = msprintf(_("%s: Wrong type for %s: A list expected.\n"), "__test_function4__", "Varargout");
+assert_checkerror("__test_function4__()", msg);
\ No newline at end of file