* Bug #6988 fixed - Error messages in modules/data_structures/src/c/hmops.c were... 92/11392/3
Charlotte HECQUET [Wed, 24 Apr 2013 15:26:25 +0000 (17:26 +0200)]
Change-Id: I5b9849848aff685940e770c09baf37afbf449cd3

scilab/CHANGES_5.5.X
scilab/modules/data_structures/src/c/hmops.c
scilab/modules/data_structures/tests/nonreg_tests/bug_6988.dia.ref [new file with mode: 0644]
scilab/modules/data_structures/tests/nonreg_tests/bug_6988.tst [new file with mode: 0644]

index a9f4836..997f9a7 100644 (file)
@@ -84,6 +84,8 @@ Bug fixes
 
 * Bug #7026 fixed - There was no unit test for plot2d.
 
+* Bug #6988 fixed - Error messages in modules/data_structures/src/c/hmops.c were not standard.
+
 * Bug #7684 fixed - Introduction demo splitted in subsections.
 
 * Bug #7828 fixed - Slight improvements in nicholschart.
index 139f9a4..9813be9 100644 (file)
@@ -775,13 +775,13 @@ int C2F(intehm)()
 
     if ( Rhs < 2 )
     {
-        Scierror(999, _(" An hypermatrix extraction must have at least 2 arguments. "));
+        Scierror(999, _("%s: Wrong number of input arguments: at least %d expected.\n"),"hmops",2);
         return(0);
     };
 
     if ( ! get_hmat(Rhs, &H) )
     {
-        Scierror(999, _(" Argument is not an hypermatrix. "));
+        Scierror(999, _("%s: Wrong type for input argument(s): An hypermatrix expected.\n"),"hmops");
         return 0;
     }
     else if ( H.type == NOT_REAL_or_CMPLX_or_BOOL_or_INT  || H.type == OLD_HYPERMAT )
@@ -794,7 +794,7 @@ int C2F(intehm)()
     nb_index_vectors = Rhs - 1;
     if ( H.dimsize <  nb_index_vectors )
     {
-        Scierror(999, _(" Incompatible hypermatrix extraction. "));
+        Scierror(999, _("%s: Wrong number of input arguments: at most %d expected.\n"),"hmops",H.dimsize);
         return 0;
     }
     else if ( H.dimsize > nb_index_vectors )  /* reshape H */
@@ -822,7 +822,7 @@ int C2F(intehm)()
         ier = create_index_vector(i, dec + i, &mn, H.dims[i - 1], &ind_max);
         if ( ier == 0  ||  ind_max > H.dims[i - 1] )
         {
-            Scierror(999, _("Bad (%d th) index in hypermatrix extraction. "), i);
+            Scierror(999, _("%s: Bad index #%d in hypermatrix extraction. "),"hmops", i);
             return 0;
         }
         if ( mn == 0 )   /* the vector index is [] => we return an empty matrix */
@@ -981,14 +981,14 @@ int C2F(intihm)()
 
     if ( Rhs < 3 )
     {
-        Scierror(999, _(" An hypermatrix insertion must have at least 3 arguments. "));
+        Scierror(999, _("%s: Wrong number of input arguments: at least %d expected.\n"),"hmops", 3);
         return 0;
     };
     nb_index_vectors = Rhs - 2;
 
     if ( ! get_hmat(Rhs, &A) )
     {
-        Scierror(999, _(" Argument is not an hypermatrix. "));
+        Scierror(999, _("%s: Wrong type for input argument(s): An hypermatrix expected.\n"),"hmops");
         return 0;
     }
     else if ( A.type == NOT_REAL_or_CMPLX_or_BOOL_or_INT  || A.type == OLD_HYPERMAT )
@@ -1055,7 +1055,7 @@ int C2F(intihm)()
             }
             else   /* B have at least 2 elts */
             {
-                Scierror(999, _(" Bad hypermatrix insertion. "));
+                Scierror(999, _("%s: Bad hypermatrix insertion.\n"),"hmops");
                 return 0;
             }
         }
@@ -1073,7 +1073,7 @@ int C2F(intihm)()
             }
             if ( iconf >= B.dimsize  ||  B.dims[iconf] != mn )
             {
-                Scierror(999, _(" Bad hypermatrix insertion. "));
+                Scierror(999, _("%s: Bad hypermatrix insertion.\n"),"hmops");
                 return 0;
             }
             iconf++;
@@ -1083,7 +1083,7 @@ int C2F(intihm)()
     /* to finish the conformity test */
     if ( !B_is_scalar &&  ntot != B.size )
     {
-        Scierror(999, _(" Bad hypermatrix insertion. "));
+        Scierror(999, _("%s: Bad hypermatrix insertion.\n"),"hmops");
         return 0;
     }
 
diff --git a/scilab/modules/data_structures/tests/nonreg_tests/bug_6988.dia.ref b/scilab/modules/data_structures/tests/nonreg_tests/bug_6988.dia.ref
new file mode 100644 (file)
index 0000000..974c15d
--- /dev/null
@@ -0,0 +1,35 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 6988 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6988
+//
+// <-- Short Description -->
+// Error messages in modules/data_structures/src/c/hmops.c are not standard.
+M = hypermat([2 3 2 2],1:24)
+ M  =
+(:,:,1,1)
+    1.    3.    5.  
+    2.    4.    6.  
+(:,:,2,1)
+    7.    9.     11.  
+    8.    10.    12.  
+(:,:,1,2)
+    13.    15.    17.  
+    14.    16.    18.  
+(:,:,2,2)
+    19.    21.    23.  
+    20.    22.    24.  
+errmsg1=msprintf(_("%s: Wrong number of input arguments: at most %d expected.\n"),"hmops",4);
+assert_checkerror("M(:,:,1,2,3)",errmsg1);
diff --git a/scilab/modules/data_structures/tests/nonreg_tests/bug_6988.tst b/scilab/modules/data_structures/tests/nonreg_tests/bug_6988.tst
new file mode 100644 (file)
index 0000000..5ab5daf
--- /dev/null
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 6988 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6988
+//
+// <-- Short Description -->
+// Error messages in modules/data_structures/src/c/hmops.c are not standard.
+
+M = hypermat([2 3 2 2],1:24)
+errmsg1=msprintf(_("%s: Wrong number of input arguments: at most %d expected.\n"),"hmops",4);
+assert_checkerror("M(:,:,1,2,3)",errmsg1);