From 8ec248b29c98a47c1ba0e2be4c195c92be59ff96 Mon Sep 17 00:00:00 2001 From: Simon Lipp Date: Wed, 10 Sep 2008 08:25:04 +0000 Subject: [PATCH] Fix nonreg test bug_614 (mexlib), update ref (windows), create ref (linux) --- .../modules/mexlib/tests/nonreg_tests/bug_614.tst | 7 --- .../mexlib/tests/nonreg_tests/bug_614.unix.dia.ref | 45 ++++++++++++++++++++ .../mexlib/tests/nonreg_tests/bug_614.win.dia.ref | 6 +-- 3 files changed, 48 insertions(+), 10 deletions(-) create mode 100644 scilab/modules/mexlib/tests/nonreg_tests/bug_614.unix.dia.ref diff --git a/scilab/modules/mexlib/tests/nonreg_tests/bug_614.tst b/scilab/modules/mexlib/tests/nonreg_tests/bug_614.tst index 62a6b10..a11feb0 100644 --- a/scilab/modules/mexlib/tests/nonreg_tests/bug_614.tst +++ b/scilab/modules/mexlib/tests/nonreg_tests/bug_614.tst @@ -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 index 0000000..b8f9967 --- /dev/null +++ b/scilab/modules/mexlib/tests/nonreg_tests/bug_614.unix.dia.ref @@ -0,0 +1,45 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2006-2008 - INRIA - Serge STEER +// +// 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); diff --git a/scilab/modules/mexlib/tests/nonreg_tests/bug_614.win.dia.ref b/scilab/modules/mexlib/tests/nonreg_tests/bug_614.win.dia.ref index 20b9c5a..06a42a2 100644 --- a/scilab/modules/mexlib/tests/nonreg_tests/bug_614.win.dia.ref +++ b/scilab/modules/mexlib/tests/nonreg_tests/bug_614.win.dia.ref @@ -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); -- 1.7.9.5