[ 
https://issues.apache.org/jira/browse/STDCXX-900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12613504#action_12613504
 ] 

Travis Vitek commented on STDCXX-900:
-------------------------------------

Well, most of these failures are destined to fail until the test is rewritten. 
It is impossible to reliably parse any useful date-time information from a 
string that contains only the formatted week number. The test tries to to do 
just this for {{%U}} and {{%W}}. Even if we have a partially specified date (I 
believe we need at least the year and day of week), we still need somewhere to 
store the additional data so that we can store the value we parse, and then 
after the parsing is done so that we can use it to calculate something useful. 
At the very least I think we'll be breaking binary compatibility.

So, for the time being, I think the right thing to do is to fix the portion of 
the test that attempts to to verify {{%U}} and {{%W}} so that it expects 
failure. If we wish to fully support this extension, then we should add a new 
test that verifies {{%U}} and {{%W}} with the necessary format specifiers and 
then fix the code for 4.3 or later.

> 22.locale.time.get test fails 15 assertions
> -------------------------------------------
>
>                 Key: STDCXX-900
>                 URL: https://issues.apache.org/jira/browse/STDCXX-900
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: Tests
>    Affects Versions: 4.2.0, 4.2.1
>         Environment: MSVC
>            Reporter: Farid Zaripov
>            Assignee: Travis Vitek
>            Priority: Minor
>             Fix For: 4.2.2
>
>   Original Estimate: 6h
>  Remaining Estimate: 6h
>
> The 22.locale.time.get test fails with the following assertions:
> {noformat}
> # ASSERTION (S7) (5 lines):
> # TEXT: line 174. time_get<char>::get ("9", ..., "U") ate 0, expected 1, 
> rdstate() == eofbit, got failbit
> # CLAUSE: lib.locale.time.get
> # FILE: 22.locale.time.get.cpp
> # LINE: 758
> # ASSERTION (S7) (5 lines):
> # TEXT: line 183. time_get<char>::get ("9", ..., "U") got { tm_mday=0 [1,31] 
> }, expected { tm_mday=0 [1,31], tm_year=320, tm_wday=2 Tue, tm_yday=60 }, 
> flags = fmtflags(0), locale (C)
> # CLAUSE: lib.locale.time.get
> # FILE: 22.locale.time.get.cpp
> # LINE: 758
> # ASSERTION (S7) (5 lines):
> # TEXT: line 174. time_get<char>::get ("0", ..., "W") ate 0, expected 1, 
> rdstate() == eofbit, got failbit
> # CLAUSE: lib.locale.time.get
> # FILE: 22.locale.time.get.cpp
> # LINE: 778
> # ASSERTION (S7) (5 lines):
> # TEXT: line 174. time_get<char>::get ("2nd weekday, 21st week, 2nd year", 
> ..., "%Ex") ate 17, expected 32, rdstate() == goodbit, got failbit
> # CLAUSE: lib.locale.time.get
> # FILE: 22.locale.time.get.cpp
> # LINE: 1442
> # ASSERTION (S7) (5 lines):
> # TEXT: line 183. time_get<char>::get ("2nd weekday, 21st week, 2nd year", 
> ..., "%Ex") got { tm_mday=0 [1,31] }, expected Tue May 21 00:00:00 3902, 
> flags = fmtflags(0), locale 
> (LC_COLLATE=C;LC_CTYPE=C;LC_MONETARY=C;LC_NUMERIC=C;LC_TIME=test-locale;LC_COLLATE=C)
> # CLAUSE: lib.locale.time.get
> # FILE: 22.locale.time.get.cpp
> # LINE: 1442
> # ASSERTION (S7) (5 lines):
> # TEXT: line 174. time_get<char>::get ("1st", ..., "%OW") ate 3, expected 3, 
> rdstate() == goodbit, got failbit
> # CLAUSE: lib.locale.time.get
> # FILE: 22.locale.time.get.cpp
> # LINE: 1582
> # ASSERTION (S7) (5 lines):
> # TEXT: line 183. time_get<char>::get ("1st", ..., "%OW") got { tm_mday=0 
> [1,31] }, expected { tm_mday=0 [1,31], tm_wday=1 Mon }, flags = fmtflags(0), 
> locale 
> (LC_COLLATE=C;LC_CTYPE=C;LC_MONETARY=C;LC_NUMERIC=C;LC_TIME=test-locale;LC_COLLATE=C)
> # CLAUSE: lib.locale.time.get
> # FILE: 22.locale.time.get.cpp
> # LINE: 1582
> # ASSERTION (S7) (5 lines):
> # TEXT: line 174. time_get<wchar_t>::get (L"9", ..., "U") ate 0, expected 1, 
> rdstate() == eofbit, got failbit
> # CLAUSE: lib.locale.time.get
> # FILE: 22.locale.time.get.cpp
> # LINE: 758
> # ASSERTION (S7) (5 lines):
> # TEXT: line 183. time_get<wchar_t>::get (L"9", ..., "U") got { tm_mday=0 
> [1,31] }, expected { tm_mday=0 [1,31], tm_year=320, tm_wday=2 Tue, tm_yday=60 
> }, flags = fmtflags(0), locale (C)
> # CLAUSE: lib.locale.time.get
> # FILE: 22.locale.time.get.cpp
> # LINE: 758
> # ASSERTION (S7) (5 lines):
> # TEXT: line 174. time_get<wchar_t>::get (L"0", ..., "W") ate 0, expected 1, 
> rdstate() == eofbit, got failbit
> # CLAUSE: lib.locale.time.get
> # FILE: 22.locale.time.get.cpp
> # LINE: 778
> # ASSERTION (S7) (5 lines):
> # TEXT: line 174. time_get<wchar_t>::get (L"2nd weekday, 21st week, 2nd 
> year", ..., "%Ex") ate 17, expected 32, rdstate() == goodbit, got failbit
> # CLAUSE: lib.locale.time.get
> # FILE: 22.locale.time.get.cpp
> # LINE: 1442
> # ASSERTION (S7) (5 lines):
> # TEXT: line 183. time_get<wchar_t>::get (L"2nd weekday, 21st week, 2nd 
> year", ..., "%Ex") got { tm_mday=0 [1,31] }, expected Tue May 21 00:00:00 
> 3902, flags = fmtflags(0), locale 
> (LC_COLLATE=C;LC_CTYPE=C;LC_MONETARY=C;LC_NUMERIC=C;LC_TIME=test-locale;LC_COLLATE=C)
> # CLAUSE: lib.locale.time.get
> # FILE: 22.locale.time.get.cpp
> # LINE: 1442
> # ASSERTION (S7) (5 lines):
> # TEXT: line 174. time_get<wchar_t>::get (L"1st", ..., "%OW") ate 3, expected 
> 3, rdstate() == goodbit, got failbit
> # CLAUSE: lib.locale.time.get
> # FILE: 22.locale.time.get.cpp
> # LINE: 1582
> # ASSERTION (S7) (5 lines):
> # TEXT: line 183. time_get<wchar_t>::get (L"1st", ..., "%OW") got { tm_mday=0 
> [1,31] }, expected { tm_mday=0 [1,31], tm_wday=1 Mon }, flags = fmtflags(0), 
> locale 
> (LC_COLLATE=C;LC_CTYPE=C;LC_MONETARY=C;LC_NUMERIC=C;LC_TIME=test-locale;LC_COLLATE=C)
> # CLAUSE: lib.locale.time.get
> # FILE: 22.locale.time.get.cpp
> # LINE: 1582
> # ASSERTION (S7) (4 lines):
> # TEXT: time_get not exercised in named locales
> # CLAUSE: lib.locale.time.get
> # LINE: 1664
> {noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to