소스 검색

Change two tests to be less dependant on locales.

This patch removes the use of the "%c" specifier for getting/setting times.
The semantics of this specifier differ between linux and Mac. I don't believe
the use of this specifier was important to the test.

The following tests now pass on linux.
test/input.output/iostream.format/ext.manip/get_time.pass.cpp
test/input.output/iostream.format/ext.manip/put_time.pass.cpp

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@215417 91177308-0d34-0410-b5e6-96231b3b80d8
Eric Fiselier 11 년 전
부모
커밋
5b34a5f584
2개의 변경된 파일5개의 추가작업 그리고 4개의 파일을 삭제
  1. 2 2
      test/input.output/iostream.format/ext.manip/get_time.pass.cpp
  2. 3 2
      test/input.output/iostream.format/ext.manip/put_time.pass.cpp

+ 2 - 2
test/input.output/iostream.format/ext.manip/get_time.pass.cpp

@@ -43,7 +43,7 @@ int main()
         std::istream is(&sb);
         is.imbue(std::locale(LOCALE_en_US_UTF_8));
         std::tm t = {0};
-        is >> std::get_time(&t, "%c");
+        is >> std::get_time(&t, "%a %b %d %H:%M:%S %Y");
         assert(t.tm_sec == 59);
         assert(t.tm_min == 55);
         assert(t.tm_hour == 23);
@@ -59,7 +59,7 @@ int main()
         std::wistream is(&sb);
         is.imbue(std::locale(LOCALE_en_US_UTF_8));
         std::tm t = {0};
-        is >> std::get_time(&t, L"%c");
+        is >> std::get_time(&t, L"%a %b %d %H:%M:%S %Y");
         assert(t.tm_sec == 59);
         assert(t.tm_min == 55);
         assert(t.tm_hour == 23);

+ 3 - 2
test/input.output/iostream.format/ext.manip/put_time.pass.cpp

@@ -62,7 +62,8 @@ int main()
         t.tm_mon = 11;
         t.tm_year = 161;
         t.tm_wday = 6;
-        os << std::put_time(&t, "%c");
+        t.tm_isdst = 0;
+        os << std::put_time(&t, "%a %b %d %H:%M:%S %Y");
         assert(sb.str() == "Sat Dec 31 23:55:59 2061");
     }
     {
@@ -77,7 +78,7 @@ int main()
         t.tm_mon = 11;
         t.tm_year = 161;
         t.tm_wday = 6;
-        os << std::put_time(&t, L"%c");
+        os << std::put_time(&t, L"%a %b %d %H:%M:%S %Y");
         assert(sb.str() == L"Sat Dec 31 23:55:59 2061");
     }
 }