* test_run can now take "[]" as argument to be used on console 43/17143/10
Cedric Delamarre [Mon, 31 Aug 2015 11:32:08 +0000 (13:32 +0200)]
// '[]' can be given to test_run input arguments
test_run string [] no_check_ref

Change-Id: Iaacd0d3b796e8dd40d8723d40b5126b19afe2901

scilab/CHANGES
scilab/modules/development_tools/help/en_US/test_run.xml
scilab/modules/development_tools/help/fr_FR/test_run.xml
scilab/modules/development_tools/help/ja_JP/test_run.xml
scilab/modules/development_tools/macros/test_run.sci

index a916a68..ec42e85 100644 (file)
@@ -267,6 +267,7 @@ Modified Functions
 * ode: y0 is restricted to a column vector.
 * pppdiv: Return a scalar of type 'constant' when the rank is 0.
 * pdiv: Return a matrix of type 'constant' when all the rank are 0.
+* test_run can now take "[]" as argument to be used on console; for instance: test_run string [] no_check_ref
 
 
 Syntax Modifications
index 4d94eea..6d99cdc 100644 (file)
@@ -38,7 +38,7 @@
                 <term>module</term>
                 <listitem>
                     <para>
-                        A String array or <literal>[]</literal>. Name of the modules or directory for the tests, all internal modules if <literal>[]</literal>
+                        A String array or <literal>[]</literal> (or equivalently <literal>"[]"</literal>). Name of the modules or directory for the tests, all internal modules if <literal>[]</literal>
                     </para>
                     <itemizedlist>
                         <listitem>
@@ -63,7 +63,7 @@
                 <term>test_name</term>
                 <listitem>
                     <para>
-                        A string array or []. The names of the tests to execute during this run. If <literal>[]</literal> executes all tests found.
+                        A string array or <literal>[]</literal> (or equivalently <literal>"[]"</literal>). The names of the tests to execute during this run. If <literal>[]</literal> executes all tests found.
                     </para>
                 </listitem>
             </varlistentry>
@@ -71,7 +71,7 @@
                 <term>options</term>
                 <listitem>
                     <para>
-                        A string array or <literal>[]</literal>. The options for the tests during this run, default options if <literal>[]</literal>.
+                        A string array or <literal>[]</literal> or <literal>"[]"</literal>. The options for the tests during this run, default options if <literal>[]</literal> or <literal>"[]"</literal>.
                     </para>
                     <variablelist> or
                         <varlistentry>
         <title>Examples</title>
         <programlisting role="example"><![CDATA[
 // Launch all tests
+// This may take some time
 // =============================================
 
-test_run();
-test_run([]);
-test_run([],[]);
+// test_run();
+// test_run([]);
+// test_run([],[]);
+// test_run("[]","[]");
+// test_run [] [];
 
 // Test one or several module
 // =============================================
@@ -453,13 +456,16 @@ test_run('boolean','bug_2799','no_check_error_output');
 
 // Combine several options
 test_run([],[],['no_check_ref','mode_nw']);
+
+// Console mode
+test_run time [] no_check_ref //tests time module with no_check_ref option
  ]]></programlisting>
-        
+
         <programlisting role="example"><![CDATA[
 // Run unitary tests of an external module (with his path)
 test_run('SCI/contrib/toolbox_skeleton')
  ]]></programlisting>
-        
+
         <programlisting role="example"><![CDATA[
 // Export to a XML Xunit file
 test_run('boolean',[],[],TMPDIR+"/boolean_test_run.xml");
index a8a9710..3fd24e0 100644 (file)
@@ -38,7 +38,7 @@
                 <term>module</term>
                 <listitem>
                     <para>
-                        Un tableau de chaînes de caractères ou <literal>[]</literal>. Nom des modules ou répertoires à tester, tous les modules internes de scilab si <literal>[]</literal>
+                        Un tableau de chaînes de caractères ou <literal>[]</literal> (ou <literal>"[]"</literal>). Nom des modules ou répertoires à tester, tous les modules internes de scilab si <literal>[]</literal>
                     </para>
                     <itemizedlist>
                         <listitem>
@@ -63,7 +63,7 @@
                 <term>test_name</term>
                 <listitem>
                     <para>
-                        Un tableau de chaînes de caractères ou <literal>[]</literal>. Le nom des tests à exécuter lors de cette passe de tests, tous les tests si <literal>[]</literal>
+                        Un tableau de chaînes de caractères ou <literal>[]</literal> (ou <literal>"[]"</literal>). Le nom des tests à exécuter lors de cette passe de tests, tous les tests si <literal>[]</literal>
                     </para>
                 </listitem>
             </varlistentry>
@@ -71,7 +71,7 @@
                 <term>options</term>
                 <listitem>
                     <para>
-                        Un tableau de chaînes de caractères ou <literal>[]</literal>. Les options à utiliser pour la passe de test, les options par défaut si <literal>[]</literal>
+                        Un tableau de chaînes de caractères ou <literal>[]</literal> (ou <literal>"[]"</literal>). Les options à utiliser pour la passe de test, les options par défaut si <literal>[]</literal>
                     </para>
                     <variablelist>
                         <varlistentry>
         <title>Examples</title>
         <programlisting role="example"><![CDATA[
 // Lance tous les tests
+// Cela peut prendre du temps...
 // =============================================
 
-test_run();
-test_run([]);
-test_run([],[]);
+// test_run();
+// test_run([]);
+// test_run([],[]);
+// test_run("[]","[]");
+// test_run [] [];
 
 // Teste un ou plusieurs modules
 // =============================================
@@ -422,7 +425,7 @@ test_run('time',['datenum';'calendar'],'skip_tests');
 test_run('time','datenum','no_check_ref');
 
 // création d'un fichier .dia.ref
-test_run([],[],'create_ref');
+// test_run([],[],'create_ref');
 
 // liste des tests disponibles
 test_run([],[],'list');
@@ -441,13 +444,16 @@ test_run('boolean','bug_2799','no_check_error_output');
 
 // Combinaisons d'options
 test_run([],[],['no_check_ref','mode_nw']);
+
+// Console mode
+test_run time [] no_check_ref //tests time module with no_check_ref option
  ]]></programlisting>
-        
+
         <programlisting role="example"><![CDATA[
 // lance les tests d'un module externe
 test_run('SCI/contrib/toolbox_skeleton')
  ]]></programlisting>
-        
+
         <programlisting role="example"><![CDATA[
 // Export XML Xunit
 test_run('boolean',[],[],TMPDIR+"/boolean_test_run.xml");
index c46afb7..ab47d2d 100644 (file)
         <programlisting role="example"><![CDATA[
 // 全てのテストを実行
 // =============================================
-test_run();
-test_run([]);
-test_run([],[]);
+// test_run();
+// test_run([]);
+// test_run([],[]);
+// test_run("[]","[]");
+// test_run [] [];
 // 1つまたは複数のモジュールをテスト
 // =============================================
 // 1つのモジュールをテスト
@@ -437,6 +439,8 @@ test_run([],[],'unit_test');
 test_run('boolean','bug_2799','no_check_error_output');
 // 複数のオプションを同時に指定
 test_run([],[],['no_check_ref','mode_nw']);
+// Console mode
+test_run time [] no_check_ref //tests time module with no_check_ref option
  ]]></programlisting>
         <programlisting role="example"><![CDATA[
 //  (パスで指定した)外部モジュールのユニットテストを実行
index b5429a5..dae0579 100644 (file)
@@ -58,6 +58,9 @@ function test_run_result = test_run(varargin)
     if rhs >= 3 then
 
         option_mat = varargin(3);
+        if (option_mat == "[]")
+            option_mat = [];
+        end
         if (check_option(option_mat, "unit_tests") & check_option(option_mat, "nonreg_tests")) | check_option(option_mat, "all_tests") then
             params.testTypes = "all_tests";
         elseif check_option(option_mat, "unit_tests") then
@@ -141,8 +144,8 @@ function test_run_result = test_run(varargin)
     // Management of the tests to run
     // =======================================================
     if (rhs == 0) ..
-        | ((rhs == 1) & (varargin(1)==[])) ..
-        | (((rhs == 2)|(rhs == 3)|(rhs == 4)) & (varargin(1)==[]) & (varargin(2)==[])) then
+        | ((rhs == 1) & (varargin(1)==[] | varargin(1)=="[]")) ..
+        | (rhs >= 2 & rhs <= 4) & ( varargin(1)==[]|varargin(1)=="[]") & (varargin(2)==[]|varargin(2)=="[]") then
 
 
         // No input argument
@@ -182,9 +185,9 @@ function test_run_result = test_run(varargin)
         end
 
     elseif (rhs == 1) ..
-        | ((rhs == 2) & (varargin(2)==[])) ..
-        | ((rhs == 3) & (varargin(2)==[])) ..
-        | ((rhs == 4) & (varargin(2)==[])) ..
+        | ((rhs == 2) & (varargin(2)==[] || varargin(2)=="[]")) ..
+        | ((rhs == 3) & (varargin(2)==[] || varargin(2)=="[]")) ..
+        | ((rhs == 4) & (varargin(2)==[] || varargin(2)=="[]")) ..
         | ( ~ isempty(params.skip_mat)) then
 
         // One input argument