forked from OSchip/llvm-project
Make FormatStyle.GetStyleOfFile test work on MSVC
Modify getStyle to use vfs::FileSystem::makeAbsolute just like FS.addFile does, rather than sys::fs::make_absolute. The latter gets the CWD from the platform, while the former expects it to be set by the client, causing a mismatch when converting relative paths to absolute. Differential Revision: https://reviews.llvm.org/D27971 llvm-svn: 290319
This commit is contained in:
parent
7323b4b788
commit
34c037641b
|
@ -1917,7 +1917,11 @@ FormatStyle getStyle(StringRef StyleName, StringRef FileName,
|
|||
// Look for .clang-format/_clang-format file in the file's parent directories.
|
||||
SmallString<128> UnsuitableConfigFiles;
|
||||
SmallString<128> Path(FileName);
|
||||
llvm::sys::fs::make_absolute(Path);
|
||||
if (std::error_code EC = FS->makeAbsolute(Path)) {
|
||||
llvm::errs() << EC.message() << "\n";
|
||||
return Style;
|
||||
}
|
||||
|
||||
for (StringRef Directory = Path; !Directory.empty();
|
||||
Directory = llvm::sys::path::parent_path(Directory)) {
|
||||
|
||||
|
|
|
@ -10936,10 +10936,6 @@ TEST_F(FormatTest, ArrayAsTemplateType) {
|
|||
format("auto a = unique_ptr < Foo < Bar>[10]> ;", Spaces));
|
||||
}
|
||||
|
||||
// Since this test case uses UNIX-style file path. We disable it for MS
|
||||
// compiler.
|
||||
#if !defined(_MSC_VER) && !defined(__MINGW32__)
|
||||
|
||||
TEST(FormatStyle, GetStyleOfFile) {
|
||||
vfs::InMemoryFileSystem FS;
|
||||
// Test 1: format file in the same directory.
|
||||
|
@ -10967,8 +10963,6 @@ TEST(FormatStyle, GetStyleOfFile) {
|
|||
ASSERT_EQ(Style3, getGoogleStyle());
|
||||
}
|
||||
|
||||
#endif // _MSC_VER
|
||||
|
||||
TEST_F(ReplacementTest, FormatCodeAfterReplacements) {
|
||||
// Column limit is 20.
|
||||
std::string Code = "Type *a =\n"
|
||||
|
|
Loading…
Reference in New Issue