libstdc++: Fix failing filesystem::path tests (PR 93244)
authorJonathan Wakely <jwakely@redhat.com>
Fri, 6 Mar 2020 11:27:34 +0000 (11:27 +0000)
committerJonathan Wakely <jwakely@redhat.com>
Fri, 6 Mar 2020 11:30:56 +0000 (11:30 +0000)
The checks for PR 93244 don't actually pass on Windows (which is the
target where the bug is present) because of a different bug, PR 94063.

This adjusts the tests to not be affected by 94063 so that they verify
that 93244 was fixed.

PR libstdc++/93244
* testsuite/27_io/filesystem/path/generic/generic_string.cc: Adjust
test to not fail due to PR 94063.
* testsuite/27_io/filesystem/path/generic/utf.cc: Likewise.
* testsuite/27_io/filesystem/path/generic/wchar_t.cc: Likewise.

libstdc++-v3/ChangeLog
libstdc++-v3/testsuite/27_io/filesystem/path/generic/generic_string.cc
libstdc++-v3/testsuite/27_io/filesystem/path/generic/utf.cc
libstdc++-v3/testsuite/27_io/filesystem/path/generic/wchar_t.cc

index 644a18ad39f7056068989866d0090398f280e96c..b9ea649eed6c3bd814e8ebab7321df6f4581868b 100644 (file)
@@ -1,3 +1,11 @@
+2020-03-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/93244
+       * testsuite/27_io/filesystem/path/generic/generic_string.cc: Adjust
+       test to not fail due to PR 94063.
+       * testsuite/27_io/filesystem/path/generic/utf.cc: Likewise.
+       * testsuite/27_io/filesystem/path/generic/wchar_t.cc: Likewise.
+
 2020-03-06  Andreas Krebbel  <krebbel@linux.ibm.com>
 
        * src/c++11/system_error.cc: Omit the ENOTSUP case statement if it
index 677f5f5d1c4ab879718829c09e6c720ca204e809..5caf079ed9b41b0f35cd9b6bea0b380f0120dad5 100644 (file)
@@ -49,11 +49,12 @@ test01()
 void
 test02()
 {
-  // PR libstdc++/93244
-  path p("C:");
-  p += path::preferred_separator;
-  p += "foo/bar";
-  VERIFY( p.generic_string() == "C:/foo/bar" );
+  if constexpr (path::preferred_separator == L'\\')
+  {
+    // PR libstdc++/93244
+    VERIFY( path("C:\\foo\\bar").generic_string() == "C:/foo/bar" );
+    VERIFY( path("C://foo//bar").generic_string() == "C:/foo/bar" );
+  }
 }
 
 int
index 9a2f579ebabd5b6dca25ddee352eeafb83312269..52afdb4497b90da6a732d7df7c4453d7d3a8ab9f 100644 (file)
@@ -49,11 +49,12 @@ test01()
 void
 test02()
 {
-  // PR libstdc++/93244
-  path p("C:");
-  p += path::preferred_separator;
-  p += "foo/bar";
-  VERIFY( p.generic_u32string() == U"C:/foo/bar" );
+  if constexpr (path::preferred_separator == L'\\')
+  {
+    // PR libstdc++/93244
+    VERIFY( path("C:\\foo\\bar").generic_u32string() == U"C:/foo/bar" );
+    VERIFY( path("C://foo//bar").generic_u32string() == U"C:/foo/bar" );
+  }
 }
 
 int
index 5dacedc7de4266cd06ea2b29dc7f49fe8f4ec17f..7bb2f643043d7e1c4346634b74856512644b509d 100644 (file)
@@ -49,11 +49,12 @@ test01()
 void
 test02()
 {
-  // PR libstdc++/93244
-  path p("C:");
-  p += path::preferred_separator;
-  p += "foo/bar";
-  VERIFY( p.generic_wstring() == L"C:/foo/bar" );
+  if constexpr (path::preferred_separator == L'\\')
+  {
+    // PR libstdc++/93244
+    VERIFY( path("C:\\foo\\bar").generic_wstring() == L"C:/foo/bar" );
+    VERIFY( path("C://foo//bar").generic_wstring() == L"C:/foo/bar" );
+  }
 }
 
 int