Fix nonreg test bug_614 (mexlib), update ref (windows), create ref (linux)
Simon Lipp [Wed, 10 Sep 2008 08:25:04 +0000 (08:25 +0000)]
scilab/modules/mexlib/tests/nonreg_tests/bug_614.tst
scilab/modules/mexlib/tests/nonreg_tests/bug_614.unix.dia.ref [new file with mode: 0644]
scilab/modules/mexlib/tests/nonreg_tests/bug_614.win.dia.ref

index 62a6b10..a11feb0 100644 (file)
@@ -20,8 +20,6 @@
 
 my_current_directory = pwd();
 cd(TMPDIR);
-cd('..');
-TMP_directory = pwd();
 mputl('ilib_mex_build(''libmex'',[''mexf16'',''mexfunction16'',''cmex''],[''mexfunction16.c''],[],''Makelib'','''','''','''')','builder.sce');
 
 mputl([
@@ -38,11 +36,6 @@ mputl([
 exec('builder.sce');
 exec('loader.sce');
 
-diary('bug614.dia')
 mexf16(rand(2,3,2))
-diary(0)
 
-dia = mgetl('bug614.dia');
 cd(my_current_directory);
-
-if find(dia == "2 3 2") == [] then pause,end
diff --git a/scilab/modules/mexlib/tests/nonreg_tests/bug_614.unix.dia.ref b/scilab/modules/mexlib/tests/nonreg_tests/bug_614.unix.dia.ref
new file mode 100644 (file)
index 0000000..b8f9967
--- /dev/null
@@ -0,0 +1,45 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 614 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=614
+//
+// <-- Short Description -->
+//    mxGetDimensions() from mex.h and mexlib.c do not work
+//    properly. The reason is that it returns a pointer to int
+//    like Matlab, but in fact, the dimensions in scilab are in
+//    double format.
+//
+//    Also occur in other OS's.
+my_current_directory = pwd();
+cd(TMPDIR);
+mputl('ilib_mex_build(''libmex'',[''mexf16'',''mexfunction16'',''cmex''],[''mexfunction16.c''],[],''Makelib'','''','''','''')','builder.sce');
+mputl([
+'#include ""mex.h""'
+'void mexFunction(nlhs, plhs, nrhs, prhs)'
+'     int nlhs, nrhs;'
+'     mxArray *plhs[]; mxArray *prhs[];'
+'{'
+'  int *dims = mxGetDimensions(prhs[0]);'
+'  sciprint(""%d %d %d\n"",dims[0],dims[1],dims[2]);'
+'}'
+],'mexfunction16.c');
+   Generate a gateway file
+   Generate a loader file
+   Generate a Makefile
+   ilib_gen_Make: Copy compilation files (Makefile*, libtool...) to TMPDIR
+   ilib_gen_Make: Copy mexfunction16.c to TMPDIR
+   ilib_gen_Make: Copy libmex.c to TMPDIR
+   ilib_gen_Make: configure : Generate Makefile.
+   ilib_gen_Make: Modification of the Makefile in TMPDIR.
+   Running the makefile
+Shared archive loaded.
+Link done.
+mexf16(rand(2,3,2))
+2 3 2
+cd(my_current_directory);
index 20b9c5a..06a42a2 100644 (file)
@@ -18,8 +18,6 @@
 //    Also occur in other OS's.
 my_current_directory = pwd();
 cd(TMPDIR);
-cd('..');
-TMP_directory = pwd();
 mputl('ilib_mex_build(''libmex'',[''mexf16'',''mexfunction16'',''cmex''],[''mexfunction16.c''],[],''Makelib'','''','''','''')','builder.sce');
 mputl([
 '#include ""mex.h""'
@@ -38,4 +36,6 @@ mputl([
    Building shared library (be patient)
 Shared archive loaded.
 Link done.
-diary('bug614.dia')
+mexf16(rand(2,3,2))
+2 3 2
+cd(my_current_directory);