Review mxCalloc function and add tests 49/19349/10
Siddhartha Gairola [Wed, 19 Jul 2017 17:05:14 +0000 (22:05 +0530)]
Change-Id: Ic0728ae113fe3c09677c59ef23060cc511102838

scilab/modules/mexlib/tests/unit_tests/mxCalloc.dia.ref [new file with mode: 0644]
scilab/modules/mexlib/tests/unit_tests/mxCalloc.tst [new file with mode: 0644]

diff --git a/scilab/modules/mexlib/tests/unit_tests/mxCalloc.dia.ref b/scilab/modules/mexlib/tests/unit_tests/mxCalloc.dia.ref
new file mode 100644 (file)
index 0000000..2cb63d9
--- /dev/null
@@ -0,0 +1,41 @@
+// ============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2017-2017 - Gsoc 2017 - Siddhartha Gairola
+//
+//  This file is distributed under the same license as the Scilab package.
+// ============================================================================
+
+// <-- CLI SHELL MODE -->
+// ============================================================================
+// Unitary tests for mxCalloc mex function
+// ============================================================================
+cd(TMPDIR);
+ilib_verbose(0);
+mputl(["#include ""mex.h""";
+"void mexFunction(int nlhs, mxArray *plhs[], int nrhs, mxArray *prhs[])";
+"{";
+" int *buf = NULL;";
+" int check1 = 0;";
+" int check2 = 0;";
+" int i = 0;";
+" if (buf != NULL) {";
+"    check1 = 1;";
+" }";
+" buf = mxCalloc(10, sizeof(int));";
+" if (buf != NULL) {";
+"    check2 = 1;";
+" mexPrintf(""Buffer is Not NULL.\n"");";
+" }";
+" mxFree(buf);";
+" mxArray* pOut1 = mxCreateLogicalScalar(check1);";
+" mxArray* pOut2 = mxCreateLogicalScalar(check2);";
+" plhs[0] = pOut1;";
+" plhs[1] = pOut2;";
+"}"],"mxCalloc.c");
+ilib_mex_build("libmextest",["mxCalloc","mxCalloc","cmex"], "mxCalloc.c",[]);
+exec("loader.sce");
+[res1, res2] = mxCalloc();
+Buffer is Not NULL.
+
+assert_checkfalse(res1);
+assert_checktrue(res2);
diff --git a/scilab/modules/mexlib/tests/unit_tests/mxCalloc.tst b/scilab/modules/mexlib/tests/unit_tests/mxCalloc.tst
new file mode 100644 (file)
index 0000000..e609e7d
--- /dev/null
@@ -0,0 +1,42 @@
+// ============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2017-2017 - Gsoc 2017 - Siddhartha Gairola
+//
+//  This file is distributed under the same license as the Scilab package.
+// ============================================================================
+
+// <-- CLI SHELL MODE -->
+// ============================================================================
+// Unitary tests for mxCalloc mex function
+// ============================================================================
+
+cd(TMPDIR);
+ilib_verbose(0);
+
+mputl(["#include ""mex.h""";
+"void mexFunction(int nlhs, mxArray *plhs[], int nrhs, mxArray *prhs[])";
+"{";
+" int *buf = NULL;";
+" int check1 = 0;";
+" int check2 = 0;";
+" int i = 0;";
+" if (buf != NULL) {";
+"    check1 = 1;";
+" }";
+" buf = mxCalloc(10, sizeof(int));";
+" if (buf != NULL) {";
+"    check2 = 1;";
+" mexPrintf(""Buffer is Not NULL.\n"");";
+" }";
+" mxFree(buf);";
+" mxArray* pOut1 = mxCreateLogicalScalar(check1);";
+" mxArray* pOut2 = mxCreateLogicalScalar(check2);";
+" plhs[0] = pOut1;";
+" plhs[1] = pOut2;";
+"}"],"mxCalloc.c");
+ilib_mex_build("libmextest",["mxCalloc","mxCalloc","cmex"], "mxCalloc.c",[]);
+exec("loader.sce");
+
+[res1, res2] = mxCalloc();
+assert_checkfalse(res1);
+assert_checktrue(res2);