* Bug #14524 fixed - Numeric locales were not set to standard "C" by default at scila... 10/18210/1 5.5
Simon Marchetto [Thu, 2 Jun 2016 14:23:07 +0000 (16:23 +0200)]
Change-Id: I8a24b6745c89a15b1d0289d28145c5cb168dfccb

scilab/CHANGES_5.5.X
scilab/modules/core/src/c/InitScilab.c
scilab/modules/string/tests/nonreg_tests/bug_14524.dia.ref [new file with mode: 0644]
scilab/modules/string/tests/nonreg_tests/bug_14524.tst [new file with mode: 0644]
scilab/modules/string/tests/nonreg_tests/bug_14568.dia.ref [new file with mode: 0644]
scilab/modules/string/tests/nonreg_tests/bug_14568.tst [new file with mode: 0644]
scilab/modules/string/tests/nonreg_tests/bug_14568_test.tst [new file with mode: 0644]

index 750c76a..5dea934 100644 (file)
@@ -28,6 +28,8 @@ Scilab Bug Fixes
 
 * Bug #13925 fixed - SciNotes used the wrong paired bracket highlight style.
 
+* Bug #14524 fixed - Numeric locales were not set to standard "C" by default at scilab startup
+
 
 
                      Changes between version 5.5.1 and 5.5.2
index bc307ec..3c1a3e8 100644 (file)
@@ -11,6 +11,7 @@
  */
 #include "InitScilab.h"
 #include "InitializeCore.h"
+#include "locale.h"
 #include "../../../console/includes/InitializeConsole.h"
 #include "../../../tclsci/includes/InitializeTclTk.h"
 #include "../../../localization/includes/InitializeLocalization.h"
@@ -49,6 +50,9 @@ int C2F(initscilab) (void)
         loadGraphicModule();
     }
 
+    // set default (English) locale after JVM which may set its own locale
+    setlocale(LC_NUMERIC, "C");
+
     /* Initialize console: lines... */
     InitializeConsole();
 
diff --git a/scilab/modules/string/tests/nonreg_tests/bug_14524.dia.ref b/scilab/modules/string/tests/nonreg_tests/bug_14524.dia.ref
new file mode 100644 (file)
index 0000000..01e357a
--- /dev/null
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2016 - Scilab Enterprises - 
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 14524 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/14524
+//
+// <-- Short Description -->
+// Numeric locales were not set to standard "C" by default at scilab startup
+format('e',10)
+disp(1/2)
+   5.000D-01
+disp(0.5)
+   5.000D-01
+format('v',10)
+disp(1/2)
+   0.5
+disp(0.5)
+   0.5
diff --git a/scilab/modules/string/tests/nonreg_tests/bug_14524.tst b/scilab/modules/string/tests/nonreg_tests/bug_14524.tst
new file mode 100644 (file)
index 0000000..845314e
--- /dev/null
@@ -0,0 +1,21 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2016 - Scilab Enterprises - 
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 14524 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/14524
+//
+// <-- Short Description -->
+// Numeric locales were not set to standard "C" by default at scilab startup
+
+format('e',10)
+disp(1/2) 
+disp(0.5) 
+
+format('v',10)
+disp(1/2) 
+disp(0.5) 
diff --git a/scilab/modules/string/tests/nonreg_tests/bug_14568.dia.ref b/scilab/modules/string/tests/nonreg_tests/bug_14568.dia.ref
new file mode 100644 (file)
index 0000000..9fb5c93
--- /dev/null
@@ -0,0 +1,22 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2016 - Scilab Enterprises - 
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 14568 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/14568
+//
+// <-- Short Description -->
+// strtod() fails in some locale conditions
+// No way to set locale for the current test => run another test with a modified locale
+setenv("LC_ALL", "fr_FR.UTF-8");
+status = test_run("string", "bug_14568_test", ["no_check_error_output", "no_check_ref", "short_summary"]);
+   001/001 - [string] bug_14568_test............................passed
+
+   --------------------------------------------------------------------------
+   Tests:    1,    Passed:    1,    Failed:    0,    Skipped:    0
+   --------------------------------------------------------------------------
+assert_checktrue(status);
diff --git a/scilab/modules/string/tests/nonreg_tests/bug_14568.tst b/scilab/modules/string/tests/nonreg_tests/bug_14568.tst
new file mode 100644 (file)
index 0000000..289574e
--- /dev/null
@@ -0,0 +1,21 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2016 - Scilab Enterprises - 
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 14568 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/14568
+//
+// <-- Short Description -->
+// strtod() fails in some locale conditions
+
+// No way to set locale for the current test => run another test with a modified locale
+
+setenv("LC_ALL", "fr_FR.UTF-8");
+
+status = test_run("string", "bug_14568_test", ["no_check_error_output", "no_check_ref", "short_summary"]);
+
+assert_checktrue(status);
\ No newline at end of file
diff --git a/scilab/modules/string/tests/nonreg_tests/bug_14568_test.tst b/scilab/modules/string/tests/nonreg_tests/bug_14568_test.tst
new file mode 100644 (file)
index 0000000..82937c8
--- /dev/null
@@ -0,0 +1,12 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2016 - Scilab Enterprises - 
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+
+// This test is run by 14568 test, with test_run() command with a modified locale 
+
+assert_checkequal(strtod("0.5"), 0.5);
+