llvm-project/llvm/unittests/Support
Sam McCall 22555bafe9 [VFS] InMemoryFilesystem's UniqueIDs are a function of path and content.
This ensures that re-creating "the same" FS results in the same UIDs for files.
In turn, this means that creating a clang module (preamble) using one in-memory
filesystem and consuming it using another doesn't create duplicate FileEntrys
for files that are the same in both FSes.

It's tempting to give the creator control over the UIDs instead. However that
requires fiddly API changes, e.g. what should the UIDs of intermediate
directories be?
This change is more "magic" but seems safe given:
 - InMemoryFilesystem is used in testing more than production
 - comparing UIDs across filesystems is unusual
 - files with the same path and content are usually logically equivalent

(The usual reason for re-creating virtual filesystems rather than reusing them
is that typical use involves mutating their CWD and so is not threadsafe).

Differential Revision: https://reviews.llvm.org/D110711
2021-09-29 23:24:18 +02:00
..
CommandLineInit [Support] Initialize common options in `getRegisteredOptions` 2021-08-03 23:59:10 -07:00
DynamicLibrary Bump googletest to 1.10.0 2021-05-14 19:16:31 +02:00
ARMAttributeParser.cpp Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
AlignOfTest.cpp [AIX] Use less than or equal to for some alignment tests on AIX 2021-06-28 10:32:32 -04:00
AlignmentTest.cpp [Align] Remove operations on MaybeAlign that asserted that it had a defined value. 2020-05-22 21:54:28 -07:00
AllocatorTest.cpp
AnnotationsTest.cpp
ArrayRecyclerTest.cpp
Base64Test.cpp
BinaryStreamTest.cpp [Support] Convert BinaryStream class zoo to 64-bit offsets 2021-09-16 19:14:52 -04:00
BlockFrequencyTest.cpp
BranchProbabilityTest.cpp
CMakeLists.txt [Support]: Introduce the `HashBuilder` interface. 2021-08-26 09:20:50 -07:00
CRCTest.cpp
CachePruningTest.cpp
Casting.cpp
CheckedArithmeticTest.cpp
Chrono.cpp
CommandLineTest.cpp Reset all options in cl::ResetCommandLineParser() 2021-08-16 09:56:22 +02:00
CompressionTest.cpp [CMake] Simplify CMake handling for zlib 2020-08-11 20:22:11 -07:00
ConvertUTFTest.cpp Reland "[Support][unittests] Enforce alignment in ConvertUTFTest" 2020-10-14 12:02:27 +02:00
CrashRecoveryTest.cpp [RGT] Don't use EXPECT* macros in a subprocess that exits by signalling 2021-01-22 15:04:34 -08:00
DJBTest.cpp
DataExtractorTest.cpp Add a new API seek for the Cursor class in the DataExtractor.cpp 2021-09-16 09:39:49 -04:00
DebugCounterTest.cpp
DebugTest.cpp
ELFAttributeParserTest.cpp [llvm][NFC] Add missing 'override's in unittests/ 2020-07-17 17:35:59 -07:00
EndianStreamTest.cpp
EndianTest.cpp
ErrnoTest.cpp
ErrorOrTest.cpp
ErrorTest.cpp Error: Improve unit test by using gtest equality rather than explicit string compare calls 2021-09-08 16:21:11 -07:00
ExtensibleRTTITest.cpp [llvm][clang][NFC] updates inline licence info 2021-08-11 02:48:53 +00:00
FSUniqueIDTest.cpp Support: Avoid std::tie in Support/FileSystem/UniqueID.h, NFC 2020-11-02 13:26:15 -05:00
FileCollectorTest.cpp Support: Remove duplicated code in {File,clang::ModulesDependency}Collector, NFC 2021-01-25 15:09:00 -08:00
FileOutputBufferTest.cpp [Support] Allow FileOutputBuffer::create to create an empty file 2020-05-05 08:11:58 -07:00
FileUtilitiesTest.cpp [llvm] [unittests] Remove temporary files after they're not needed 2020-09-02 00:34:44 +03:00
FormatVariadicTest.cpp [LLVM] Update formatv() documentation to clarify no escape for `}` 2020-07-22 15:30:40 -07:00
GlobPatternTest.cpp [Support] Add GlobPattern::isTrivialMatchAll() 2020-09-16 10:26:11 +01:00
HashBuilderTest.cpp [NFC] Add trailing comma on TYPED_TEST_SUITE 2021-09-14 09:56:57 -07:00
Host.cpp [SystemZ] Add support for new cpu architecture - arch14 2021-07-26 16:57:28 +02:00
IndexedAccessorTest.cpp
InstructionCostTest.cpp [InstructionCost] Add saturation support. 2021-07-10 11:28:42 +01:00
ItaniumManglingCanonicalizerTest.cpp
JSONTest.cpp [JSON] Add ObjectMapper::mapOptional to validate optional data. 2020-10-12 12:48:08 +02:00
KnownBitsTest.cpp [APInt] Normalize naming on keep constructors / predicate methods. 2021-09-09 09:50:24 -07:00
KnownBitsTest.h [DemandedBits] Improve accuracy of Add propagator 2020-08-17 12:54:09 +01:00
LEB128Test.cpp Diagnose if a SLEB128 is too large to fit in an int64_t. 2021-02-02 14:33:34 -08:00
LineIteratorTest.cpp Support: Allow use of MemoryBufferRef with line_iterator 2020-10-13 16:43:49 -04:00
LinearPolyBaseTest.cpp [TypeSize] Extend UnivariateLinearPolyBase with getWithIncrement/Decrement methods 2020-11-06 09:01:19 +00:00
LockFileManagerTest.cpp PR51018: Remove explicit conversions from SmallString to StringRef to future-proof against C++23 2021-07-08 13:37:57 -07:00
MD5Test.cpp [Support] Update `MD5` to follow other hashes. 2021-08-19 14:13:14 -07:00
ManagedStatic.cpp
MatchersTest.cpp
MathExtrasTest.cpp Put back the trailing commas on TYPED_TEST_SUITE 2021-05-17 14:14:13 +02:00
MemoryBufferRefTest.cpp Support: Add operator== for MemoryBufferRef and split out MemoryBufferRef.h 2020-10-13 16:42:24 -04:00
MemoryBufferTest.cpp Support: Add operator== for MemoryBufferRef and split out MemoryBufferRef.h 2020-10-13 16:42:24 -04:00
MemoryTest.cpp Bump googletest to 1.10.0 2021-05-14 19:16:31 +02:00
NativeFormatTests.cpp
OptimizedStructLayoutTest.cpp Fix a bug in OptimizedStructLayout when filling gaps before 2021-07-21 15:47:18 -04:00
ParallelTest.cpp Add parallelTransformReduce and parallelForEachError 2020-11-02 16:50:14 -08:00
Path.cpp [SystemZ][z/OS] Fix warning caused by umask returning a signed integer type 2021-05-12 12:26:22 -04:00
ProcessTest.cpp [Support] Silence warning: comparison of integers of different signs: 'const int' and 'const unsigned long' 2020-05-06 09:12:00 -04:00
ProgramTest.cpp [RGT] Tweak test so assertion is always executed 2021-04-09 08:10:45 -07:00
RISCVAttributeParserTest.cpp Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
RegexTest.cpp
ReplaceFileTest.cpp
ReverseIterationTest.cpp
SHA256.cpp [llvm/Support] Add SHA256 implementation 2021-02-14 19:01:01 +00:00
ScaledNumberTest.cpp Switch from llvm::is_trivially_copyable to std::is_trivially_copyable 2020-12-02 22:02:48 -08:00
SourceMgrTest.cpp
SpecialCaseListTest.cpp [clang/llvm] As part of using inclusive language within 2020-06-20 16:03:58 -07:00
SuffixTreeTest.cpp [SuffixTree][MachOpt] Factoring out Suffix Tree and adding Unit Tests 2020-06-08 12:44:18 -07:00
SwapByteOrderTest.cpp
SymbolRemappingReaderTest.cpp
TarWriterTest.cpp [llvm] [unittests] Remove temporary files after they're not needed 2020-09-02 00:34:44 +03:00
TargetParserTest.cpp [AArch64] Add target features for Armv9-A Scalable Matrix Extension (SME) 2021-07-12 13:28:10 +00:00
TaskQueueTest.cpp
ThreadLocalTest.cpp
ThreadPool.cpp [Support] ThreadPool tests: silence warning unused variable 'It' 2021-04-17 14:22:50 -04:00
Threading.cpp Support: reduce stack used in default size test. 2021-07-13 11:24:12 +01:00
TimerTest.cpp
ToolOutputFileTest.cpp [Support] Use outs() in ToolOutputFile 2020-06-04 14:56:35 +02:00
TrailingObjectsTest.cpp
TrigramIndexTest.cpp
TypeNameTest.cpp
TypeTraitsTest.cpp [Tests] Add missing include (NFC) 2021-06-03 18:58:29 +02:00
UnicodeTest.cpp Speedup some unicode rendering 2020-12-03 20:11:11 +01:00
VersionTupleTest.cpp
VirtualFileSystemTest.cpp [VFS] InMemoryFilesystem's UniqueIDs are a function of path and content. 2021-09-29 23:24:18 +02:00
WithColorTest.cpp [Support] Replace 'DisableColors' boolean with 'ColorMode' enum 2020-06-08 09:48:47 -07:00
YAMLIOTest.cpp [YAML I/O] Fix bug in emission of empty sequence 2021-01-25 13:35:36 -08:00
YAMLParserTest.cpp [YAML] Support extended spellings when parsing bools. 2020-12-12 12:50:34 +00:00
formatted_raw_ostream_test.cpp [Support] Fix formatted_raw_ostream for UTF-8 2020-07-06 16:18:15 +01:00
raw_fd_stream_test.cpp Add raw_fd_stream that supports reading/seeking/writing 2020-09-12 07:34:19 +00:00
raw_ostream_test.cpp Support: Add closing namespace comment in raw_ostream_test.cpp, NFC 2021-09-23 16:59:03 -04:00
raw_pwrite_stream_test.cpp
raw_sha1_ostream_test.cpp
xxhashTest.cpp