[vtkusers] wx/vtk weirdness

Mathieu Malaterre mathieu.malaterre at gmail.com
Fri Nov 27 13:09:27 EST 2009


I do not know for Windows. But for UNIX machine if the fr_FR locale is
not installed , I think setlocale() is simply a no-OP. Part of the
test should make sure that "," is indeed the LC_NUMERIC separator.

2cts

On Fri, Nov 27, 2009 at 7:05 PM, Francois Bertel
<francois.bertel at kitware.com> wrote:
> Actually, forcing a non English locale in a test is probably the wrong
> approach because the locale might not exist on the system.
> Instead, it is probably better to change the environment variable on a
> dashboard machine.
>
> I just changed the script of arkadia on VTK to run the tests under
> French locales, with the following lines:
>
> # save LC_ALL
> set(saved_lc_all "$ENV{LC_ALL}")
> [...]
> # Change locales to make sure the text file readers and writers are
> locale independent:
> # Before writing the following line, we made sure that "fr_FR.utf8" is listed in
> # "locale -a", if not, install package "language-support-fr"
> set(ENV{LC_ALL} "fr_FR.utf8")
>
> [...]
> ctest_test(BUILD "${CTEST_BINARY_DIRECTORY}")
> [...]
> # restore LC_ALL
> set(ENV{LC_ALL} "${saved_lc_all}")
>
>
> We'll see how bad is it for VTK tomorrow.
>
>
> On Fri, Nov 27, 2009 at 12:17 PM, Francois Bertel
> <francois.bertel at kitware.com> wrote:
>> ... starting with regression tests that do the following:
>>
>> For a text reader:
>>
>> 1. switch to a locale known to be different than English regarding
>> numerical rules, like French where "," and "." have opposite meaning.
>> 2. read the file (assuming the file to read is encoded in C|POSIX locales)
>>
>> For a text writer:
>> 1. switch to a non English locale
>> 2. write a file
>> 3. switch to an English locale
>> 4. read the file
>>
>>
>> On Fri, Nov 27, 2009 at 12:07 PM, Bill Lorensen <bill.lorensen at gmail.com> wrote:
>>> Looks like we have some work to do in both itk and vtk.
>>>
>>> Bill
>>>
>>> On Fri, Nov 27, 2009 at 12:05 PM, Francois Bertel
>>> <francois.bertel at kitware.com> wrote:
>>>> note: it is necessary to duplicate the return value of setlocale() as
>>>> it can be a pointer to a static string.
>>>>
>>>> On Fri, Nov 27, 2009 at 12:04 PM, Francois Bertel
>>>> <francois.bertel at kitware.com> wrote:
>>>>> Something like that:
>>>>>
>>>>> // save the current locale
>>>>>  prev_locale = setlocale(LC_NUMERIC, NULL);
>>>>>  prev_locale = dupstring(setlocale(LC_NUMERIC, NULL));
>>>>> setlocale(LC_NUMERIC, "POSIX");
>>>>>
>>>>> <reader code here>
>>>>>
>>>>> // Restore locale
>>>>> setlocale(LC_NUMERIC, prev_locale);
>>>>> if(prev_locale)
>>>>> {
>>>>>  setlocale(LC_NUMERIC, prev_locale);
>>>>> }
>>>>>
>>>>> ref: http://www.zsh.org/mla/workers/2003/msg00210.html
>>>>>
>>>>> I don't think bug 5891 is relevant as it elimitates the use of
>>>>> interpretation of text into numerical values.
>>>>> Patch in bug 1431 was using the selocale() function (as above).
>>>>>
>>>>>
>>>>> On Fri, Nov 27, 2009 at 11:58 AM, Mathieu Malaterre
>>>>> <mathieu.malaterre at gmail.com> wrote:
>>>>>> On Fri, Nov 27, 2009 at 5:57 PM, Marcus D. Hanwell
>>>>>> <marcus.hanwell at kitware.com> wrote:
>>>>>>> The C functions as I remember set the locale globally which can also cause
>>>>>>> unexpected bugs if a library changes this internally.
>>>>>>
>>>>>> Ah ! That answer my question :)
>>>>>>
>>>>>> Thx
>>>>>> --
>>>>>> Mathieu
>>>>>> _______________________________________________
>>>>>> Powered by www.kitware.com
>>>>>>
>>>>>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>>>>>>
>>>>>> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>>>>>>
>>>>>> Follow this link to subscribe/unsubscribe:
>>>>>> http://www.vtk.org/mailman/listinfo/vtkusers
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> François Bertel, PhD  | Kitware Inc. Suite 204
>>>>> 1 (518) 371 3971 x113 | 28 Corporate Drive
>>>>>                      | Clifton Park NY 12065, USA
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> François Bertel, PhD  | Kitware Inc. Suite 204
>>>> 1 (518) 371 3971 x113 | 28 Corporate Drive
>>>>                      | Clifton Park NY 12065, USA
>>>> _______________________________________________
>>>> Powered by www.kitware.com
>>>>
>>>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>>>>
>>>> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>>>>
>>>> Follow this link to subscribe/unsubscribe:
>>>> http://www.vtk.org/mailman/listinfo/vtkusers
>>>>
>>>
>>
>>
>>
>> --
>> François Bertel, PhD  | Kitware Inc. Suite 204
>> 1 (518) 371 3971 x113 | 28 Corporate Drive
>>                      | Clifton Park NY 12065, USA
>>
>
>
>
> --
> François Bertel, PhD  | Kitware Inc. Suite 204
> 1 (518) 371 3971 x113 | 28 Corporate Drive
>                      | Clifton Park NY 12065, USA
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>



-- 
Mathieu



More information about the vtkusers mailing list