llvm-project/lldb/unittests/Utility
Jonas Devlieghere ac25e8628c [lldb] Deal gracefully with concurrency in the API instrumentation.
Prevent lldb from crashing when multiple threads are concurrently
accessing the SB API with reproducer capture enabled.

The API instrumentation records both the input arguments and the return
value, but it cannot block for the duration of the API call. Therefore
we introduce a sequence number that allows to to correlate the function
with its result and add locking to ensure those two parts are emitted
atomically.

Using the sequence number, we can detect situations where the return
value does not succeed the function call, in which case we print an
error saying that concurrency is not (currently) supported. In the
future we might attempt to be smarter and read ahead until we've found
the return value matching the current call.

Differential revision: https://reviews.llvm.org/D92820
2020-12-10 09:37:49 -08:00
..
Inputs
AnsiTerminalTest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
ArchSpecTest.cpp Correctly detect legacy iOS simulator Mach-O objectfiles 2020-08-06 12:40:45 -07:00
ArgsTest.cpp [lldb][NFC] Make GetShellSafeArgument return std::string and unittest it. 2020-10-22 14:47:10 +02:00
BroadcasterTest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
CMakeLists.txt Remap the target (Xcode) SDK directory to the host SDK directory. 2020-04-06 15:51:30 -07:00
CompletionRequestTest.cpp [lldb] Cut off unused suffix in CompletionRequest::GetRawLine 2020-01-28 11:12:22 +01:00
ConstStringTest.cpp [lldb/Utility] Add YAML traits for ConstString and FileSpec. 2020-03-12 10:28:21 -07:00
DataExtractorTest.cpp [lldb] Fix unaligned load in DataExtractor 2020-07-07 10:13:41 -07:00
EnvironmentTest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
EventTest.cpp [ADT] Make StringRef's std::string conversion operator explicit 2020-01-28 23:47:07 +01:00
FileSpecTest.cpp Update LLDB filespec tests for remove_dots change 2020-05-04 17:27:16 -07:00
FlagsTest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
ListenerTest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
LogTest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
NameMatchesTest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OptionsWithRawTest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
PredicateTest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
ProcessInfoTest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
ProcessInstanceInfoTest.cpp [lldb] Add YAML traits for ArchSpec and ProcessInstanceInfo 2020-03-12 14:38:37 -07:00
RangeMapTest.cpp [lldb/Utility] Fix a bug in RangeMap::CombineConsecutiveRanges 2020-07-27 10:06:56 +02:00
RangeTest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterValueTest.cpp [lldb] Improve RegisterValue::GetScalarValue 2020-11-04 14:53:06 +01:00
RegularExpressionTest.cpp [Utility] Reimplement RegularExpression on top of llvm::Regex 2019-08-16 21:25:36 +00:00
ReproducerInstrumentationTest.cpp [lldb] Deal gracefully with concurrency in the API instrumentation. 2020-12-10 09:37:49 -08:00
ReproducerTest.cpp [lldb] Extract reproducer providers & co into their own header. 2020-08-22 10:04:27 -07:00
ScalarTest.cpp [lldb/Utility] Use APSInt in the Scalar class 2020-08-27 15:05:47 +02:00
SharedClusterTest.cpp [lldb] Delete the SharingPtr class 2020-02-11 13:23:18 +01:00
StateTest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
StatusTest.cpp [LLDB] On Windows, fix tests 2020-10-08 11:46:59 -04:00
StreamTeeTest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
StreamTest.cpp [lldb][NFC] Remove Stream::Indent(const char *) overload in favor of the StringRef version 2020-02-11 13:29:32 +01:00
StringExtractorTest.cpp [NFC] Return llvm::StringRef from StringExtractor::GetStringRef. 2019-08-21 04:55:56 +00:00
StringLexerTest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
StringListTest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
StructuredDataTest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
SubsystemRAIITest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
TildeExpressionResolverTest.cpp [lldb] Return the original path when tilde expansion fails. 2020-12-02 16:01:30 -08:00
TimeoutTest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
TimerTest.cpp [lldb] Fix unit test parsing to handle CR+LF as well as LF 2020-08-12 13:56:16 -07:00
UUIDTest.cpp Support build-ids of other sizes than 16 in UUID::SetFromStringRef 2020-06-07 10:03:41 +00:00
UriParserTest.cpp [LLDB] Fix parsing of IPv6 host:port inside brackets 2020-03-26 11:35:54 +01:00
UserIDResolverTest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
VASprintfTest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
VMRangeTest.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
XcodeSDKTest.cpp Move GetXcode*Directory into HostInfo (NFC) 2020-06-05 11:59:22 -07:00