stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <>
Subject Re: STDCXX-970 and locale tests
Date Tue, 09 Oct 2012 15:44:09 GMT
On 10/09/2012 06:30 AM, Liviu Nicoara wrote:
> On 10/08/12 22:21, Martin Sebor wrote:
>> If there are deficiencies/failures in the test that you plan
>> to work on fixing I would suggest doing that first, and making
>> other improvements only after the fixes have been verified.
>> I see no problem with removing some of the old Visual C++
>> cruft (e.g., workarounds for MSVC 6 bugs), but again, I'd
>> suggest to make these changes after fixing any bugs (unless
>> the workarounds themselves are causing the failures).
> Good point. I read the incident as asking for a cleanup job, basically.

I think it was meant to be a placeholder for us to set aside
time to look at the test failures. I'm guessing the driver
for it was management wanting to have a schedule.

> The workarounds were causing unnecessary failures, at least one was
> defective and/or applied when not needed. I have made another patch over
> the week-end that is more conservative: it corrects as opposed to
> eliminates the workarounds, and it preserves the libstd tests although
> they are unusable right now.
> I don't think we need to open a separate issue for the current test
> failures indicative of problems in the library, e.g., __rw_strnxfrm
> embedded NUL defect. Do you see any problems with lumping that in 970?

I like the small test you put together (the big tests tend to
be hard to work with). The only downside to including it in
STDCXX-970 is that if there are other bugs that we create nice
small tests for, it would be great to add each separately to
the regression test suite. But I think we can do it by creating
sub-issues under STDCXX-970, one for each class of failures
(e.g., as in the case of your test, collate_byname::transform).


> Liviu
>> Martin
>> On 10/06/2012 02:54 PM, Liviu Nicoara wrote:
>>> On 10/01/12 11:06, Martin Sebor wrote:
>>>> On 10/01/2012 06:57 AM, Liviu Nicoara wrote:
>>>>> Also, I see that the localization tests do not make use of input
>>>>> files,
>>>>> unlike the older Rogue Wave tests. Is that a policy going forward that
>>>>> the tests do not make use of external input files?
>>>> The tests hardcode locale values in order to guarantee consistent
>>>> results, even if the external locale databases change. There also
>>>> is a makefile target that builds all the stdcxx locales. That's
>>>> just to exercise the locale utility programs. I think there also
>>>> should be a test that uses localedef to build a subset of these
>>>> locales, runs the locale utility to dump the contents of the built
>>>> database, and then localedef again to rebuild the database. Then
>>>> it compares the result of the first and second build (or it may
>>>> do three stages to normalize things) to make sure they match.
>>> I have dusted the 22.locale.collate.cpp test file, removing old
>>> workarounds, and tests for which we don't have the input anymore.
>>> The important finding of this exercise is that the test fails in the
>>> collation of wide strings with embedded NUL's. The wide facet
>>> specialization uses wcscoll, if available, but does not take into
>>> account embedded NULs, like the narrow specialization does.
>>> I am attaching the full test and the diff (which is quite hard to read).
>>> As is, the test has got a mere facelift with no substantive
>>> improvements.
>>> Thanks,
>>> Liviu

View raw message