[libcxx-commits] [PATCH] D98988: [libcxx] [test] Fix fs.op.proximate for windows
Arthur O'Dwyer via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Mar 22 07:51:35 PDT 2021
Quuxplusone accepted this revision.
Quuxplusone added a comment.
This revision is now accepted and ready to land.
LGTM % comments.
================
Comment at: libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.proximate/proximate.pass.cpp:91
{"//base", "a", dot_dot_to_root / "../base"},
+#endif
{"a", "a", "."},
----------------
There's no subtle difference between `//base` and `//foo`, right? I wish this test'd use `//foo` here.
Also, please add these tests, of which all but two I would say are "missing" right now on Windows. (On POSIX they should be basically duplicates of existing tests, but we might as well test the expected output on POSIX as well.)
```
{"//foo/a", "//bar", "//foo/a"}
{"//foo/a", "//bar/", "//foo/a"}
{"//foo/a", "b", "//foo/a"} // already tested
{"//foo/a", "/b", "//foo/a"}
{"//foo/a", "//bar/b", "//foo/a"} // already tested
```
And these Windows-only tests using drive letters, because this is the only way to get a path with a root-name but no root-path, right?
```
{"C:/a", "C:/b", "../a"}
{"C:/a", "C:b", "/a"} // ??? my best guess
{"C:/a", "D:/a", "C:/a"}
{"C:/a", "D:/b", "C:/a"}
{"C:/a", "D:b", "C:/a"}
{"C:a", "C:/b", "C:a"}
{"C:a", "C:b", "C:a"}
{"C:a", "D:/a", "C:a"}
{"C:a", "D:/b", "C:a"}
{"C:a", "D:b", "C:a"}
```
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D98988/new/
https://reviews.llvm.org/D98988
More information about the libcxx-commits
mailing list