Xcos: fix and split bug 8480 nonreg test to a non reg and a unitary test 63/5163/2
Clément DAVID [Thu, 6 Oct 2011 12:41:18 +0000 (14:41 +0200)]
test_run("xcos", ["DEBUG_SCICOS" "bug_8480"], ["no_check_error_output"])
   TMPDIR = /tmp/SCI_TMP_4947_hsDd0C

   001/002 - [xcos] DEBUG_SCICOS................................passed
   002/002 - [xcos] bug_8480....................................passed

Change-Id: I6daa0920ca5014dceabc387e3a760ddf9e3d80c5

scilab/modules/xcos/tests/nonreg_tests/bug_8480.dia.ref
scilab/modules/xcos/tests/nonreg_tests/bug_8480.tst
scilab/modules/xcos/tests/unit_tests/block_tests/DEBUG_SCICOS.dia.ref [new file with mode: 0644]
scilab/modules/xcos/tests/unit_tests/block_tests/DEBUG_SCICOS.tst [new file with mode: 0644]

index 046faea..b371a1d 100644 (file)
@@ -1,6 +1,7 @@
 // =============================================================================
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2010 - DIGITEO - Clément DAVID
+// Copyright (C) 2010 - Scilab Enterprises - Clément DAVID
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
 // <-- Short Description -->
 // The debug block did not have a valid function type.
 //
-// start a clean scilab
-Result_ref=[1,4,0;
-1,4,0;
-2,4,0;
-2,4,0;
-3,4,0;
-3,4,0;
-8,4,0;
-8,4,0;
-9,4,0;
-9,4,0;
-1,6,0;
-1,6,0;
-2,6,0;
-2,6,0;
-3,6,0;
-3,6,0;
-8,6,0;
-8,6,0;
-9,6,0;
-9,6,0;
-1,6,0;
-1,6,0;
-2,6,0;
-2,6,0;
-3,6,0;
-3,6,0;
-8,6,0;
-8,6,0;
-9,6,0;
-9,6,0;
-1,6,0;
-1,6,0;
-2,6,0;
-2,6,0;
-3,6,0;
-3,6,0;
-8,6,0;
-8,6,0;
-9,6,0;
-9,6,0;
-1,1,0;
-1,1,0;
-3,1,0;
-3,1,0;
-8,1,0;
-8,1,0;
-9,1,0;
-9,1,0;
-2,1,0;
-2,1,0;
-3,2,0;
-3,2,0;
-8,3,0;
-8,3,0;
-8,2,0;
-8,2,0;
-9,2,0;
-9,2,0;
-1,1,0.5;
-1,1,0.5;
-3,1,0.5;
-3,1,0.5;
-8,1,0.5;
-8,1,0.5;
-9,1,0.5;
-9,1,0.5;
-2,1,0.5;
-2,1,0.5;
-3,2,0.5;
-3,2,0.5;
-8,3,0.5;
-8,3,0.5;
-8,2,0.5;
-8,2,0.5;
-9,2,0.5;
-9,2,0.5;
-1,5,1;
-1,5,1;
-2,5,1;
-2,5,1;
-3,5,1;
-3,5,1;
-8,5,1;
-8,5,1;
-9,5,1;
-9,5,1];
-importXcosDiagram('SCI/modules/xcos/tests/nonreg_tests/bug_8480.xcos');
 global Result;Result=[];
+importXcosDiagram('SCI/modules/xcos/tests/nonreg_tests/bug_8480.xcos');
 Info=scicos_simulate(scs_m,list());
 block 1 is called with flag 4 at time 0.000000 
 Entering the block 
@@ -116,9 +30,9 @@ Leaving block 2
 block 3 is called with flag 4 at time 0.000000 
 Entering the block 
 Leaving block 3 
-block 5 is called with flag 4 at time 0.000000 
+block 4 is called with flag 4 at time 0.000000 
 Entering the block 
-Leaving block 5 
+Leaving block 4 
 block 6 is called with flag 4 at time 0.000000 
 Entering the block 
 Leaving block 6 
@@ -131,9 +45,9 @@ Leaving block 2
 block 3 is called with flag 6 at time 0.000000 
 Entering the block 
 Leaving block 3 
-block 5 is called with flag 6 at time 0.000000 
+block 4 is called with flag 6 at time 0.000000 
 Entering the block 
-Leaving block 5 
+Leaving block 4 
 block 6 is called with flag 6 at time 0.000000 
 Entering the block 
 Leaving block 6 
@@ -146,24 +60,9 @@ Leaving block 2
 block 3 is called with flag 6 at time 0.000000 
 Entering the block 
 Leaving block 3 
-block 5 is called with flag 6 at time 0.000000 
+block 4 is called with flag 6 at time 0.000000 
 Entering the block 
-Leaving block 5 
-block 6 is called with flag 6 at time 0.000000 
-Entering the block 
-Leaving block 6 
-block 1 is called with flag 6 at time 0.000000 
-Entering the block 
-Leaving block 1 
-block 2 is called with flag 6 at time 0.000000 
-Entering the block 
-Leaving block 2 
-block 3 is called with flag 6 at time 0.000000 
-Entering the block 
-Leaving block 3 
-block 5 is called with flag 6 at time 0.000000 
-Entering the block 
-Leaving block 5 
+Leaving block 4 
 block 6 is called with flag 6 at time 0.000000 
 Entering the block 
 Leaving block 6 
@@ -172,27 +71,27 @@ Event: 1 activated at t=0.000000
 block 1 is called with flag 1 at time 0.000000 
 Entering the block 
 Leaving block 1 
-block 3 is called with flag 1 at time 0.000000 
+block 2 is called with flag 1 at time 0.000000 
 Entering the block 
-Leaving block 3 
-block 5 is called with flag 1 at time 0.000000 
+Leaving block 2 
+block 4 is called with flag 1 at time 0.000000 
 Entering the block 
-Leaving block 5 
+Leaving block 4 
 block 6 is called with flag 1 at time 0.000000 
 Entering the block 
 Leaving block 6 
-block 2 is called with flag 1 at time 0.000000 
-Entering the block 
-Leaving block 2 
-block 3 is called with flag 2 at time 0.000000 
+block 3 is called with flag 1 at time 0.000000 
 Entering the block 
 Leaving block 3 
-block 5 is called with flag 3 at time 0.000000 
+block 1 is called with flag 2 at time 0.000000 
 Entering the block 
-Leaving block 5 
-block 5 is called with flag 2 at time 0.000000 
+Leaving block 1 
+block 4 is called with flag 2 at time 0.000000 
 Entering the block 
-Leaving block 5 
+Leaving block 4 
+block 6 is called with flag 3 at time 0.000000 
+Entering the block 
+Leaving block 6 
 block 6 is called with flag 2 at time 0.000000 
 Entering the block 
 Leaving block 6 
@@ -202,27 +101,27 @@ Event: 1 activated at t=0.500000
 block 1 is called with flag 1 at time 0.500000 
 Entering the block 
 Leaving block 1 
-block 3 is called with flag 1 at time 0.500000 
+block 2 is called with flag 1 at time 0.500000 
 Entering the block 
-Leaving block 3 
-block 5 is called with flag 1 at time 0.500000 
+Leaving block 2 
+block 4 is called with flag 1 at time 0.500000 
 Entering the block 
-Leaving block 5 
+Leaving block 4 
 block 6 is called with flag 1 at time 0.500000 
 Entering the block 
 Leaving block 6 
-block 2 is called with flag 1 at time 0.500000 
-Entering the block 
-Leaving block 2 
-block 3 is called with flag 2 at time 0.500000 
+block 3 is called with flag 1 at time 0.500000 
 Entering the block 
 Leaving block 3 
-block 5 is called with flag 3 at time 0.500000 
+block 1 is called with flag 2 at time 0.500000 
+Entering the block 
+Leaving block 1 
+block 4 is called with flag 2 at time 0.500000 
 Entering the block 
-Leaving block 5 
-block 5 is called with flag 2 at time 0.500000 
+Leaving block 4 
+block 6 is called with flag 3 at time 0.500000 
 Entering the block 
-Leaving block 5 
+Leaving block 6 
 block 6 is called with flag 2 at time 0.500000 
 Entering the block 
 Leaving block 6 
@@ -236,12 +135,11 @@ Leaving block 2
 block 3 is called with flag 5 at time 1.000000 
 Entering the block 
 Leaving block 3 
-block 5 is called with flag 5 at time 1.000000 
+block 4 is called with flag 5 at time 1.000000 
 Entering the block 
-Leaving block 5 
+Leaving block 4 
 block 6 is called with flag 5 at time 1.000000 
 Entering the block 
 Leaving block 6 
-if ~and(Result==Result_ref) then bugmes();quit;end
-//k=find(Result(:,1)<>Result_ref(:,1));
+if isempty(Result) then bugmes();quit;end
 clearglobal Result
index eb31f49..2b980fe 100644 (file)
@@ -1,6 +1,7 @@
 // =============================================================================
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2010 - DIGITEO - Clément DAVID
+// Copyright (C) 2010 - Scilab Enterprises - Clément DAVID
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
 // The debug block did not have a valid function type.
 //
 
-// start a clean scilab
-Result_ref=[1,4,0;
-1,4,0;
-2,4,0;
-2,4,0;
-3,4,0;
-3,4,0;
-8,4,0;
-8,4,0;
-9,4,0;
-9,4,0;
-1,6,0;
-1,6,0;
-2,6,0;
-2,6,0;
-3,6,0;
-3,6,0;
-8,6,0;
-8,6,0;
-9,6,0;
-9,6,0;
-1,6,0;
-1,6,0;
-2,6,0;
-2,6,0;
-3,6,0;
-3,6,0;
-8,6,0;
-8,6,0;
-9,6,0;
-9,6,0;
-1,6,0;
-1,6,0;
-2,6,0;
-2,6,0;
-3,6,0;
-3,6,0;
-8,6,0;
-8,6,0;
-9,6,0;
-9,6,0;
-1,1,0;
-1,1,0;
-3,1,0;
-3,1,0;
-8,1,0;
-8,1,0;
-9,1,0;
-9,1,0;
-2,1,0;
-2,1,0;
-3,2,0;
-3,2,0;
-8,3,0;
-8,3,0;
-8,2,0;
-8,2,0;
-9,2,0;
-9,2,0;
-1,1,0.5;
-1,1,0.5;
-3,1,0.5;
-3,1,0.5;
-8,1,0.5;
-8,1,0.5;
-9,1,0.5;
-9,1,0.5;
-2,1,0.5;
-2,1,0.5;
-3,2,0.5;
-3,2,0.5;
-8,3,0.5;
-8,3,0.5;
-8,2,0.5;
-8,2,0.5;
-9,2,0.5;
-9,2,0.5;
-1,5,1;
-1,5,1;
-2,5,1;
-2,5,1;
-3,5,1;
-3,5,1;
-8,5,1;
-8,5,1;
-9,5,1;
-9,5,1];
-importXcosDiagram('SCI/modules/xcos/tests/nonreg_tests/bug_8480.xcos');
 global Result;Result=[];
+
+importXcosDiagram('SCI/modules/xcos/tests/nonreg_tests/bug_8480.xcos');
+
 Info=scicos_simulate(scs_m,list());
-if ~and(Result==Result_ref) then pause,end
-//k=find(Result(:,1)<>Result_ref(:,1));
+if isempty(Result) then pause,end
 clearglobal Result
diff --git a/scilab/modules/xcos/tests/unit_tests/block_tests/DEBUG_SCICOS.dia.ref b/scilab/modules/xcos/tests/unit_tests/block_tests/DEBUG_SCICOS.dia.ref
new file mode 100644 (file)
index 0000000..265eb2b
--- /dev/null
@@ -0,0 +1,226 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - Scilab Enterprises - Clément DAVID
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- TEST WITH XCOS -->
+//
+// <-- Unit test for DEBUG_SCICOS -->
+//
+// <-- Short Description -->
+// The debug block is called before each real block call
+//
+global Result;Result=[];
+importXcosDiagram('SCI/modules/xcos/tests/nonreg_tests/bug_8480.xcos');
+Info=scicos_simulate(scs_m,list());
+block 1 is called with flag 4 at time 0.000000 
+Entering the block 
+Leaving block 1 
+block 2 is called with flag 4 at time 0.000000 
+Entering the block 
+Leaving block 2 
+block 3 is called with flag 4 at time 0.000000 
+Entering the block 
+Leaving block 3 
+block 4 is called with flag 4 at time 0.000000 
+Entering the block 
+Leaving block 4 
+block 6 is called with flag 4 at time 0.000000 
+Entering the block 
+Leaving block 6 
+block 1 is called with flag 6 at time 0.000000 
+Entering the block 
+Leaving block 1 
+block 2 is called with flag 6 at time 0.000000 
+Entering the block 
+Leaving block 2 
+block 3 is called with flag 6 at time 0.000000 
+Entering the block 
+Leaving block 3 
+block 4 is called with flag 6 at time 0.000000 
+Entering the block 
+Leaving block 4 
+block 6 is called with flag 6 at time 0.000000 
+Entering the block 
+Leaving block 6 
+block 1 is called with flag 6 at time 0.000000 
+Entering the block 
+Leaving block 1 
+block 2 is called with flag 6 at time 0.000000 
+Entering the block 
+Leaving block 2 
+block 3 is called with flag 6 at time 0.000000 
+Entering the block 
+Leaving block 3 
+block 4 is called with flag 6 at time 0.000000 
+Entering the block 
+Leaving block 4 
+block 6 is called with flag 6 at time 0.000000 
+Entering the block 
+Leaving block 6 
+Event: 1 activated at t=0.000000
+**mod**
+block 1 is called with flag 1 at time 0.000000 
+Entering the block 
+Leaving block 1 
+block 2 is called with flag 1 at time 0.000000 
+Entering the block 
+Leaving block 2 
+block 4 is called with flag 1 at time 0.000000 
+Entering the block 
+Leaving block 4 
+block 6 is called with flag 1 at time 0.000000 
+Entering the block 
+Leaving block 6 
+block 3 is called with flag 1 at time 0.000000 
+Entering the block 
+Leaving block 3 
+block 1 is called with flag 2 at time 0.000000 
+Entering the block 
+Leaving block 1 
+block 4 is called with flag 2 at time 0.000000 
+Entering the block 
+Leaving block 4 
+block 6 is called with flag 3 at time 0.000000 
+Entering the block 
+Leaving block 6 
+block 6 is called with flag 2 at time 0.000000 
+Entering the block 
+Leaving block 6 
+End of activation
+Event: 1 activated at t=0.500000
+**mod**
+block 1 is called with flag 1 at time 0.500000 
+Entering the block 
+Leaving block 1 
+block 2 is called with flag 1 at time 0.500000 
+Entering the block 
+Leaving block 2 
+block 4 is called with flag 1 at time 0.500000 
+Entering the block 
+Leaving block 4 
+block 6 is called with flag 1 at time 0.500000 
+Entering the block 
+Leaving block 6 
+block 3 is called with flag 1 at time 0.500000 
+Entering the block 
+Leaving block 3 
+block 1 is called with flag 2 at time 0.500000 
+Entering the block 
+Leaving block 1 
+block 4 is called with flag 2 at time 0.500000 
+Entering the block 
+Leaving block 4 
+block 6 is called with flag 3 at time 0.500000 
+Entering the block 
+Leaving block 6 
+block 6 is called with flag 2 at time 0.500000 
+Entering the block 
+Leaving block 6 
+End of activation
+block 1 is called with flag 5 at time 1.000000 
+Entering the block 
+Leaving block 1 
+block 2 is called with flag 5 at time 1.000000 
+Entering the block 
+Leaving block 2 
+block 3 is called with flag 5 at time 1.000000 
+Entering the block 
+Leaving block 3 
+block 4 is called with flag 5 at time 1.000000 
+Entering the block 
+Leaving block 4 
+block 6 is called with flag 5 at time 1.000000 
+Entering the block 
+Leaving block 6 
+guis = [];
+for i=1:length(scs_m.objs) do
+    o = scs_m.objs(i);
+    if typeof(o) == "Block" then
+        gui=o.gui;
+        guis = [guis ; gui];
+        execstr(gui + "_index = i;");
+    end
+end
+Result_ref = [CLOCK_c_index 4 0;
+CLOCK_c_index 4 0;
+GENSQR_f_index 4 0;
+GENSQR_f_index 4 0;
+DOLLAR_f_index 4 0;
+DOLLAR_f_index 4 0;
+MUX_index 4 0;
+MUX_index 4 0;
+TRASH_f_index 4 0;
+TRASH_f_index 4 0;
+CLOCK_c_index 6 0;
+CLOCK_c_index 6 0;
+GENSQR_f_index 6 0;
+GENSQR_f_index 6 0;
+DOLLAR_f_index 6 0;
+DOLLAR_f_index 6 0;
+MUX_index 6 0;
+MUX_index 6 0;
+TRASH_f_index 6 0;
+TRASH_f_index 6 0;
+CLOCK_c_index 6 0;
+CLOCK_c_index 6 0;
+GENSQR_f_index 6 0;
+GENSQR_f_index 6 0;
+DOLLAR_f_index 6 0;
+DOLLAR_f_index 6 0;
+MUX_index 6 0;
+MUX_index 6 0;
+TRASH_f_index 6 0;
+TRASH_f_index 6 0;
+CLOCK_c_index 1 0;
+CLOCK_c_index 1 0;
+GENSQR_f_index 1 0;
+GENSQR_f_index 1 0;
+DOLLAR_f_index 1 0;
+DOLLAR_f_index 1 0;
+TRASH_f_index 1 0;
+TRASH_f_index 1 0;
+MUX_index 1 0;
+MUX_index 1 0;
+CLOCK_c_index 3 0;
+CLOCK_c_index 3 0;
+CLOCK_c_index 2 0;
+CLOCK_c_index 2 0;
+GENSQR_f_index 2 0;
+GENSQR_f_index 2 0;
+DOLLAR_f_index 2 0;
+DOLLAR_f_index 2 0;
+CLOCK_c_index 1 0.5;
+CLOCK_c_index 1 0.5;
+GENSQR_f_index 1 0.5;
+GENSQR_f_index 1 0.5;
+DOLLAR_f_index 1 0.5;
+DOLLAR_f_index 1 0.5;
+TRASH_f_index 1 0.5;
+TRASH_f_index 1 0.5;
+MUX_index 1 0.5;
+MUX_index 1 0.5;
+CLOCK_c_index 3 0.5;
+CLOCK_c_index 3 0.5;
+CLOCK_c_index 2 0.5;
+CLOCK_c_index 2 0.5;
+GENSQR_f_index 2 0.5;
+GENSQR_f_index 2 0.5;
+DOLLAR_f_index 2 0.5;
+DOLLAR_f_index 2 0.5;
+CLOCK_c_index 5 1;
+CLOCK_c_index 5 1;
+GENSQR_f_index 5 1;
+GENSQR_f_index 5 1;
+DOLLAR_f_index 5 1;
+DOLLAR_f_index 5 1;
+MUX_index 5 1;
+MUX_index 5 1;
+TRASH_f_index 5 1;
+TRASH_f_index 5 1];
+if Result <> Result_ref then bugmes();quit;end
+clearglobal Result
diff --git a/scilab/modules/xcos/tests/unit_tests/block_tests/DEBUG_SCICOS.tst b/scilab/modules/xcos/tests/unit_tests/block_tests/DEBUG_SCICOS.tst
new file mode 100644 (file)
index 0000000..6fbc7c1
--- /dev/null
@@ -0,0 +1,113 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - Scilab Enterprises - Clément DAVID
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- TEST WITH XCOS -->
+//
+// <-- Unit test for DEBUG_SCICOS -->
+//
+// <-- Short Description -->
+// The debug block is called before each real block call
+//
+
+global Result;Result=[];
+
+importXcosDiagram('SCI/modules/xcos/tests/nonreg_tests/bug_8480.xcos');
+Info=scicos_simulate(scs_m,list());
+
+guis = [];
+for i=1:length(scs_m.objs) do
+    o = scs_m.objs(i);
+    if typeof(o) == "Block" then
+        gui=o.gui;
+        
+        guis = [guis ; gui];
+        execstr(gui + "_index = i;");
+    end
+end
+
+Result_ref = [CLOCK_c_index 4 0;
+CLOCK_c_index 4 0;
+GENSQR_f_index 4 0;
+GENSQR_f_index 4 0;
+DOLLAR_f_index 4 0;
+DOLLAR_f_index 4 0;
+MUX_index 4 0;
+MUX_index 4 0;
+TRASH_f_index 4 0;
+TRASH_f_index 4 0;
+CLOCK_c_index 6 0;
+CLOCK_c_index 6 0;
+GENSQR_f_index 6 0;
+GENSQR_f_index 6 0;
+DOLLAR_f_index 6 0;
+DOLLAR_f_index 6 0;
+MUX_index 6 0;
+MUX_index 6 0;
+TRASH_f_index 6 0;
+TRASH_f_index 6 0;
+CLOCK_c_index 6 0;
+CLOCK_c_index 6 0;
+GENSQR_f_index 6 0;
+GENSQR_f_index 6 0;
+DOLLAR_f_index 6 0;
+DOLLAR_f_index 6 0;
+MUX_index 6 0;
+MUX_index 6 0;
+TRASH_f_index 6 0;
+TRASH_f_index 6 0;
+CLOCK_c_index 1 0;
+CLOCK_c_index 1 0;
+GENSQR_f_index 1 0;
+GENSQR_f_index 1 0;
+DOLLAR_f_index 1 0;
+DOLLAR_f_index 1 0;
+TRASH_f_index 1 0;
+TRASH_f_index 1 0;
+MUX_index 1 0;
+MUX_index 1 0;
+CLOCK_c_index 3 0;
+CLOCK_c_index 3 0;
+CLOCK_c_index 2 0;
+CLOCK_c_index 2 0;
+GENSQR_f_index 2 0;
+GENSQR_f_index 2 0;
+DOLLAR_f_index 2 0;
+DOLLAR_f_index 2 0;
+CLOCK_c_index 1 0.5;
+CLOCK_c_index 1 0.5;
+GENSQR_f_index 1 0.5;
+GENSQR_f_index 1 0.5;
+DOLLAR_f_index 1 0.5;
+DOLLAR_f_index 1 0.5;
+TRASH_f_index 1 0.5;
+TRASH_f_index 1 0.5;
+MUX_index 1 0.5;
+MUX_index 1 0.5;
+CLOCK_c_index 3 0.5;
+CLOCK_c_index 3 0.5;
+CLOCK_c_index 2 0.5;
+CLOCK_c_index 2 0.5;
+GENSQR_f_index 2 0.5;
+GENSQR_f_index 2 0.5;
+DOLLAR_f_index 2 0.5;
+DOLLAR_f_index 2 0.5;
+CLOCK_c_index 5 1;
+CLOCK_c_index 5 1;
+GENSQR_f_index 5 1;
+GENSQR_f_index 5 1;
+DOLLAR_f_index 5 1;
+DOLLAR_f_index 5 1;
+MUX_index 5 1;
+MUX_index 5 1;
+TRASH_f_index 5 1;
+TRASH_f_index 5 1];
+
+if Result <> Result_ref then pause,end
+clearglobal Result
+