diff options
Diffstat (limited to 'clang/unittests/Basic/FileManagerTest.cpp')
-rw-r--r-- | clang/unittests/Basic/FileManagerTest.cpp | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/clang/unittests/Basic/FileManagerTest.cpp b/clang/unittests/Basic/FileManagerTest.cpp index d86c96f5a2c..f8ce50d531e 100644 --- a/clang/unittests/Basic/FileManagerTest.cpp +++ b/clang/unittests/Basic/FileManagerTest.cpp @@ -24,18 +24,15 @@ class FakeStatCache : public FileSystemStatCache { private: // Maps a file/directory path to its desired stat result. Anything // not in this map is considered to not exist in the file system. - llvm::StringMap<struct stat, llvm::BumpPtrAllocator> StatCalls; + llvm::StringMap<FileData, llvm::BumpPtrAllocator> StatCalls; void InjectFileOrDirectory(const char *Path, ino_t INode, bool IsFile) { - struct stat statBuf; - memset(&statBuf, 0, sizeof(statBuf)); - statBuf.st_dev = 1; -#ifndef _WIN32 // struct stat has no st_ino field on Windows. - statBuf.st_ino = INode; -#endif - statBuf.st_mode = IsFile ? (0777 | S_IFREG) // a regular file - : (0777 | S_IFDIR); // a directory - StatCalls[Path] = statBuf; + FileData Data; + memset(&Data, 0, sizeof(FileData)); + llvm::sys::fs::UniqueID ID(1, INode); + Data.UniqueID = ID; + Data.IsDirectory = !IsFile; + StatCalls[Path] = Data; } public: @@ -50,10 +47,10 @@ public: } // Implement FileSystemStatCache::getStat(). - virtual LookupResult getStat(const char *Path, struct stat &StatBuf, - bool isFile, int *FileDescriptor) { + virtual LookupResult getStat(const char *Path, FileData &Data, bool isFile, + int *FileDescriptor) { if (StatCalls.count(Path) != 0) { - StatBuf = StatCalls[Path]; + Data = StatCalls[Path]; return CacheExists; } |