diff options
author | Petr Pavlu <petr.pavlu@arm.com> | 2018-04-21 14:35:18 +0000 |
---|---|---|
committer | Petr Pavlu <petr.pavlu@arm.com> | 2018-04-21 14:35:18 +0000 |
commit | 2cbb1e02061073165a799fa1ea64def7564320b3 (patch) | |
tree | 0d35a8dd0f7324acfca79dc10560e3ec2d2e6560 /unittests/libclang | |
parent | ac235578c0e799549718f89572a170e924220848 (diff) | |
download | clang-2cbb1e02061073165a799fa1ea64def7564320b3.tar.gz |
[libclang] Fix LibclangReparseTest.FileName when TMPDIR is set to a symlink
Fix testing of clang_File_tryGetRealPathName() in
LibclangReparseTest.FileName when executing in an environment which has
TMPDIR set to a symbolic link that points to an actual directory. The
test would fail because the name returned by
clang_File_tryGetRealPathName() has the symlink resolved but the test
compared it to the original filename of a temporary file.
The patch addresses the problem by checking only that the value returned
by clang_File_tryGetRealPathName() ends with "main.cpp".
Additionally, the patch makes the previous assertion in the test that
checks result of clang_getFileName() stricter. It newly verifies that
the name returned by the function is exactly same as what was given to
clang_parseTranslationUnit()/clang_getFile().
Differential Revision: https://reviews.llvm.org/D45807
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@330507 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/libclang')
-rw-r--r-- | unittests/libclang/LibclangTest.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/unittests/libclang/LibclangTest.cpp b/unittests/libclang/LibclangTest.cpp index 262ed26953..c727b93c82 100644 --- a/unittests/libclang/LibclangTest.cpp +++ b/unittests/libclang/LibclangTest.cpp @@ -8,6 +8,7 @@ //===----------------------------------------------------------------------===// #include "clang-c/Index.h" +#include "llvm/ADT/StringRef.h" #include "llvm/Support/Debug.h" #include "llvm/Support/FileSystem.h" #include "llvm/Support/Path.h" @@ -490,11 +491,11 @@ TEST_F(LibclangReparseTest, FileName) { CXFile cxf = clang_getFile(ClangTU, CppName.c_str()); CXString cxname = clang_getFileName(cxf); - ASSERT_TRUE(strstr(clang_getCString(cxname), CppName.c_str())); + ASSERT_STREQ(clang_getCString(cxname), CppName.c_str()); clang_disposeString(cxname); cxname = clang_File_tryGetRealPathName(cxf); - ASSERT_TRUE(strstr(clang_getCString(cxname), CppName.c_str())); + ASSERT_TRUE(llvm::StringRef(clang_getCString(cxname)).endswith("main.cpp")); clang_disposeString(cxname); } |