[libcxx-commits] [PATCH] D89532: [libcxx] [test] Fix path.modifiers/make_preferred for windows

Martin Storsjö via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue Oct 20 09:44:37 PDT 2020


This revision was automatically updated to reflect the committed changes.
Closed by commit rG87d7c0009265: [libcxx] [test] Fix path.modifiers/make_preferred for windows (authored by mstorsjo).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D89532/new/

https://reviews.llvm.org/D89532

Files:
  libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/make_preferred.pass.cpp


Index: libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/make_preferred.pass.cpp
===================================================================
--- libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/make_preferred.pass.cpp
+++ libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/make_preferred.pass.cpp
@@ -26,28 +26,36 @@
 
 struct MakePreferredTestcase {
   const char* value;
+  const char* expected_posix;
+  const char* expected_windows;
 };
 
 const MakePreferredTestcase TestCases[] =
   {
-      {""}
-    , {"hello_world"}
-    , {"/"}
-    , {"/foo/bar/baz/"}
-    , {"\\"}
-    , {"\\foo\\bar\\baz\\"}
-    , {"\\foo\\/bar\\/baz\\"}
+      {"", "", ""}
+    , {"hello_world", "hello_world", "hello_world"}
+    , {"/", "/", "\\"}
+    , {"/foo/bar/baz/", "/foo/bar/baz/", "\\foo\\bar\\baz\\"}
+    , {"\\", "\\", "\\"}
+    , {"\\foo\\bar\\baz\\", "\\foo\\bar\\baz\\", "\\foo\\bar\\baz\\"}
+    , {"\\foo\\/bar\\/baz\\", "\\foo\\/bar\\/baz\\", "\\foo\\\\bar\\\\baz\\"}
   };
 
 int main(int, char**)
 {
   // This operation is an identity operation on linux.
+  // On windows, compare with preferred_win, if set.
   using namespace fs;
   for (auto const & TC : TestCases) {
     path p(TC.value);
     assert(p == TC.value);
     path& Ref = (p.make_preferred());
-    assert(p.native() == TC.value);
+#ifdef _WIN32
+    std::string s(TC.expected_windows);
+#else
+    std::string s(TC.expected_posix);
+#endif
+    assert(p.string() == s);
     assert(&Ref == &p);
   }
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D89532.299393.patch
Type: text/x-patch
Size: 1574 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20201020/768cc62e/attachment.bin>


More information about the libcxx-commits mailing list