Bug #14271 fixed - conjgrad() displayed an incorrect error message about number of... 32/17932/2
rishubhjain [Tue, 15 Mar 2016 15:16:32 +0000 (08:16 -0700)]
Change-Id: I9e4fd110fcce20c491a89c2552529a7ed50426d4

scilab/CHANGES
scilab/modules/sparse/macros/conjgrad.sci
scilab/modules/sparse/tests/nonreg_tests/bug_14271.dia.ref [new file with mode: 0644]
scilab/modules/sparse/tests/nonreg_tests/bug_14271.tst [new file with mode: 0644]
scilab/modules/sparse/tests/unit_tests/conjgrad.dia.ref
scilab/modules/sparse/tests/unit_tests/conjgrad.tst

index 83dcbc5..339a279 100644 (file)
@@ -339,6 +339,8 @@ In 6.0.0:
 
 * Bug #14099 fixed - sci2exp macro was fixed to avoid "a+[] Warning"
 
+* Bug #14271 fixed - conjgrad() displayed an incorrect error message about number of arguments.
+
 * Bug #14347 fixed - plot2d crashed with multiple entries (non regression test).
 
 * Bug #14359 fixed - Black Hole demo updated. Stop and Clear buttons did not have priority tag set. Callback_type property has been added and set to 10.
index f216957..d3eb14f 100644 (file)
@@ -91,12 +91,10 @@ function [x, flag, resNorm, iter, resVec] = conjgrad(%A, %b, method, tol, maxIte
 
     [lhs, rhs] = argn(0);
 
-    if rhs < 2 then
-        error(msprintf(gettext("%s: Wrong number of input arguments: %d to %d expected.\n"),"conjgrad",2,7));
-    end
-    if rhs > 8 then
-        error(msprintf(gettext("%s: Wrong number of input arguments: %d to %d expected.\n"),"conjgrad",2,7));
+    if rhs < 2 | rhs >9 then
+        error(msprintf(gettext("%s: Wrong number of input arguments: %d to %d expected.\n"),"conjgrad",2,9));
     end
+
     if exists("method", "local") == 0 then
         method = "bicgstab";
     end
diff --git a/scilab/modules/sparse/tests/nonreg_tests/bug_14271.dia.ref b/scilab/modules/sparse/tests/nonreg_tests/bug_14271.dia.ref
new file mode 100644 (file)
index 0000000..4581d23
--- /dev/null
@@ -0,0 +1,18 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2016 - Scilab Enterprises - Rishubh Jain
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- ENGLISH IMPOSED -->
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 14271 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=14271
+//
+// <-- Short Description -->
+//    conjgrad() displayed an incorrect error message about number of arguments.
+assert_checkerror("conjgrad()","conjgrad: Wrong number of input arguments: 2 to 9 expected.");
+a="error check";
+assert_checkerror("conjgrad(""a"")","conjgrad: Wrong number of input arguments: 2 to 9 expected.");
diff --git a/scilab/modules/sparse/tests/nonreg_tests/bug_14271.tst b/scilab/modules/sparse/tests/nonreg_tests/bug_14271.tst
new file mode 100644 (file)
index 0000000..6db11b2
--- /dev/null
@@ -0,0 +1,21 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2016 - Scilab Enterprises - Rishubh Jain
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- ENGLISH IMPOSED -->
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 14271 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=14271
+//
+// <-- Short Description -->
+//    conjgrad() displayed an incorrect error message about number of arguments.
+
+assert_checkerror("conjgrad()","conjgrad: Wrong number of input arguments: 2 to 9 expected.");
+a="error check";
+assert_checkerror("conjgrad(""a"")","conjgrad: Wrong number of input arguments: 2 to 9 expected.");
+
index 6708187..2fb7c15 100644 (file)
@@ -331,7 +331,7 @@ assert_checkequal ( flag ,  0 );
 assert_checkequal ( iter , 10 );
 //-------------------------------------------------------
 // Error checks
-refMsg = msprintf(_("%s: Wrong number of input arguments: %d to %d expected.\n"),"conjgrad",2,7);
+refMsg = msprintf(_("%s: Wrong number of input arguments: %d to %d expected.\n"),"conjgrad",2,9);
 assert_checkerror("conjgrad(A);", refMsg);
 refMsg = msprintf(_("%s: Wrong type for input argument #%d.\n"),"conjgrad",1);
 assert_checkerror("conjgrad(""string"", b);", refMsg);
index 6039e2a..5217277 100644 (file)
@@ -343,7 +343,7 @@ assert_checkequal ( iter , 10 );
 //-------------------------------------------------------
 // Error checks
 
-refMsg = msprintf(_("%s: Wrong number of input arguments: %d to %d expected.\n"),"conjgrad",2,7);
+refMsg = msprintf(_("%s: Wrong number of input arguments: %d to %d expected.\n"),"conjgrad",2,9);
 assert_checkerror("conjgrad(A);", refMsg);
 
 refMsg = msprintf(_("%s: Wrong type for input argument #%d.\n"),"conjgrad",1);