* Bug #14743 fixed - test_run(,'show_error') did not document 'failed: Slave Scilab... 17/18517/5
Samuel GOUGEON [Thu, 25 Aug 2016 17:12:51 +0000 (19:12 +0200)]
  http://bugzilla.scilab.org/14743

Change-Id: If0e15eddc85cc84260f630441dbfb5d0db599cb7

scilab/CHANGES.md
scilab/modules/development_tools/macros/test_run.sci
scilab/modules/development_tools/tests/nonreg_tests/bug_14743.tst [new file with mode: 0644]

index 361d3eb..c79d0a7 100644 (file)
@@ -392,6 +392,7 @@ Bug Fixes
 * [#14694](http://bugzilla.scilab.org/show_bug.cgi?id=14694): The list of named colors was misaligned and poorly rendered in `help color_list`
 * [#14710](http://bugzilla.scilab.org/show_bug.cgi?id=14710): fullpath(TMPDIR+...) was bugged on MacOS
 * [#14714](http://bugzilla.scilab.org/show_bug.cgi?id=14714): Crash/Leak when deleting datatip
+* [#14743](http://bugzilla.scilab.org/show_bug.cgi?id=14743): `test_run(.., "show_error")` did not document "failed: Slave Scilab exited with error code #" errors.
 * [#14758](http://bugzilla.scilab.org/show_bug.cgi?id=14758): xstringb creates a figure when no exists.
 * [#14779](http://bugzilla.scilab.org/show_bug.cgi?id=14779): When used logarithmic mode using coordinates <=0, xsegs crashed Scilab.
 * [#14784](http://bugzilla.scilab.org/show_bug.cgi?id=14784): Setting field of graphics handle using children($) failed.
index c6f697f..45350e7 100644 (file)
@@ -884,6 +884,15 @@ function status = test_single(_module, _testPath, _testName)
     if (returnStatus <> 0)
         status.id = 5;
         status.message = "failed: Slave Scilab exited with error code " + string(returnStatus);
+        if params.show_error then
+            tmp = mgetl(tmp_res)
+            tmp(tmp=="") = []
+            status.details = "   " + strsubst(..
+                [""
+                 "----- " + tmp_res + ": 10 last lines: -----"
+                 tmp(max(1,size(tmp,1)-9):$)
+                 ], TMPDIR, "TMPDIR")
+        end
         return;
     end
 
diff --git a/scilab/modules/development_tools/tests/nonreg_tests/bug_14743.tst b/scilab/modules/development_tools/tests/nonreg_tests/bug_14743.tst
new file mode 100644 (file)
index 0000000..559ac16
--- /dev/null
@@ -0,0 +1,48 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2016 - Samuel GOUGEON
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+// <-- NO CHECK REF -->
+//
+// <-- Non-regression test for bug 14743 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/14743
+//
+// <-- Short Description -->
+// test_run(..,"show_error") did not give details for "failed: Slave Scilab exited.." errors
+
+// test_run("development_tools", "bug_14743_b", "show_error");
+// This does not work, because the test report includes some test duration
+// that differs from one run to the other. Hence, .dia is always different from
+// .dia.ref. BTW, the "short_summary" option cancels the "show_error" one.
+// This test can unlikely be automatized ==> Set Interactive
+
+tdir = TMPDIR+"/test_bug_14743";
+mkdir(tdir);
+mkdir(tdir+"/tests/nonreg_tests");
+tmp = [
+"// <-- Non-regression test for bug 14743_b -->"
+"//"
+"// <-- Bugzilla URL -->"
+"// http://bugzilla.scilab.org/14743"
+"//"
+"// <-- Short Description -->"
+"// test_run(,""show_error"") did not give details for ""failed: Slave Scilab exited"" errors"
+"//"
+"// <-- CLI SHELL MODE -->"
+"// <-- ENGLISH IMPOSED -->"
+""
+"a = b/c   // This must yield an error, b and c not being defined"
+""
+];
+tfile = tdir+"/tests/nonreg_tests/bug_14743_b.tst";
+xmlfile = tdir+"/bug_14743_b.xml";
+mputl(tmp, tfile);
+test_run(tdir, "bug_14743_b", "show_error", xmlfile);
+
+if grep(mgetl(xmlfile), "Undefined variable") == [] then pause, end