* Bug #10606 fixed - unix_g did not return stdout in somes cases. 74/10174/4
Charlotte Hecquet [Thu, 10 Jan 2013 07:59:34 +0000 (08:59 +0100)]
Change-Id: I758a49cca90159cabe8292ef4a13715768a32952

scilab/CHANGES_5.4.X
scilab/modules/io/macros/unix_g.sci
scilab/modules/io/tests/nonreg_tests/bug_10606.dia.ref [new file with mode: 0644]
scilab/modules/io/tests/nonreg_tests/bug_10606.tst [new file with mode: 0644]

index 2457b0c..375f302 100644 (file)
@@ -188,6 +188,8 @@ Bug fixes
 * Bug #9305 fixed - In the optimisation help page, new chapter "Least Squares functions"
                     created.
 
+* Bug #10606 fixed - unix_g did not return stdout in somes cases.
+
 * Bug #10661 fixed - xmltopdf & xmltopdf were failing in the binary version.
 
 * Bug #10815 fixed - diff help page did not have a "See Also" section.
index 2fb37c2..fa51d0e 100644 (file)
@@ -75,6 +75,9 @@ function varargout = unix_g(cmd)
          if (size(rep,'*')==0) | (length(rep)==0) then
            rep = [];
               end;
+
+        case 1 then
+          rep = mgetl(tmp);
        
        case -1 then
          // host failed
diff --git a/scilab/modules/io/tests/nonreg_tests/bug_10606.dia.ref b/scilab/modules/io/tests/nonreg_tests/bug_10606.dia.ref
new file mode 100644 (file)
index 0000000..51e2a67
--- /dev/null
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - Charlotte Hecquet
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 10606 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=10606
+//
+// <-- Short Description -->
+//[rep,stat,stderr]=unix_g("diff /etc/passwd /etc/group")
+//Shows only
+// stderr  =
+//     []
+// stat  =
+//    1.
+// rep  =
+if getos()=='Windows'
+[rep,stat,stderr]=unix_g("fc "+SCI+"/CHANGES_5.3.X "+SCI+"/CHANGES_5.4.X");
+else
+[rep,stat,stderr]=unix_g("diff "+SCI+"/CHANGES_5.3.X "+SCI+"/CHANGES_5.4.X");
+end
+assert_checkfalse(rep == []);
diff --git a/scilab/modules/io/tests/nonreg_tests/bug_10606.tst b/scilab/modules/io/tests/nonreg_tests/bug_10606.tst
new file mode 100644 (file)
index 0000000..29af0d9
--- /dev/null
@@ -0,0 +1,32 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - Charlotte Hecquet
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 10606 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=10606
+//
+// <-- Short Description -->
+//[rep,stat,stderr]=unix_g("diff /etc/passwd /etc/group")
+
+//Shows only
+// stderr  =
+//     []
+// stat  =
+//    1.
+// rep  =
+
+if getos()=='Windows'
+[rep,stat,stderr]=unix_g("fc "+SCI+"/CHANGES_5.3.X "+SCI+"/CHANGES_5.4.X");
+
+else
+
+[rep,stat,stderr]=unix_g("diff "+SCI+"/CHANGES_5.3.X "+SCI+"/CHANGES_5.4.X");
+
+end
+
+assert_checkfalse(rep == []);