[clangd] testPath's final result agrees with the passed in Style

This was confusing, as testRoot on windows results in C:\\clangd-test
and testPath generated with posix explicitly still contained backslashes.

This patch ensures not only the relative part, but the whole final result
respects passed in Style.

Differential Revision: https://reviews.llvm.org/D91947
This commit is contained in:
Kadir Cetinkaya 2020-11-23 10:31:04 +01:00
parent d3a0f9b9ec
commit 8cec8de2a4
No known key found for this signature in database
GPG Key ID: E39E36B8D2057ED6
2 changed files with 3 additions and 9 deletions

View File

@ -255,7 +255,6 @@ TEST_F(ConfigCompileTests, ExternalBlockMountPoint) {
};
auto BarPath = testPath("foo/bar.h", llvm::sys::path::Style::posix);
BarPath = llvm::sys::path::convert_to_slash(BarPath);
Parm.Path = BarPath;
// Non-absolute MountPoint without a directory raises an error.
Frag = GetFrag("", "foo");
@ -269,7 +268,6 @@ TEST_F(ConfigCompileTests, ExternalBlockMountPoint) {
ASSERT_FALSE(Conf.Index.External);
auto FooPath = testPath("foo/", llvm::sys::path::Style::posix);
FooPath = llvm::sys::path::convert_to_slash(FooPath);
// Ok when relative.
Frag = GetFrag(testRoot(), "foo/");
compileAndApply();
@ -293,7 +291,6 @@ TEST_F(ConfigCompileTests, ExternalBlockMountPoint) {
// File outside MountPoint, no index.
auto BazPath = testPath("bar/baz.h", llvm::sys::path::Style::posix);
BazPath = llvm::sys::path::convert_to_slash(BazPath);
Parm.Path = BazPath;
Frag = GetFrag("", FooPath.c_str());
compileAndApply();
@ -302,7 +299,6 @@ TEST_F(ConfigCompileTests, ExternalBlockMountPoint) {
// File under MountPoint, index should be set.
BazPath = testPath("foo/baz.h", llvm::sys::path::Style::posix);
BazPath = llvm::sys::path::convert_to_slash(BazPath);
Parm.Path = BazPath;
Frag = GetFrag("", FooPath.c_str());
compileAndApply();

View File

@ -80,12 +80,10 @@ const char *testRoot() {
}
std::string testPath(PathRef File, llvm::sys::path::Style Style) {
assert(llvm::sys::path::is_relative(File) && "FileName should be relative");
llvm::SmallString<32> NativeFile = File;
llvm::sys::path::native(NativeFile, Style);
assert(llvm::sys::path::is_relative(File, Style));
llvm::SmallString<32> Path;
llvm::sys::path::append(Path, Style, testRoot(), NativeFile);
llvm::sys::path::append(Path, testRoot(), File);
llvm::sys::path::native(Path, Style);
return std::string(Path.str());
}