Add annotations to suppress ThreadSanitizer failures due to gunit/gmock printer.
This commit is contained in:
parent
c82282819c
commit
ffea2d6040
|
@ -926,6 +926,18 @@ using ::std::tuple_size;
|
||||||
# define GTEST_ATTRIBUTE_NO_SANITIZE_ADDRESS_
|
# define GTEST_ATTRIBUTE_NO_SANITIZE_ADDRESS_
|
||||||
#endif // __clang__
|
#endif // __clang__
|
||||||
|
|
||||||
|
// A function level attribute to disable ThreadSanitizer instrumentation.
|
||||||
|
#if defined(__clang__)
|
||||||
|
# if __has_feature(thread_sanitizer)
|
||||||
|
# define GTEST_ATTRIBUTE_NO_SANITIZE_THREAD_ \
|
||||||
|
__attribute__((no_sanitize_thread))
|
||||||
|
# else
|
||||||
|
# define GTEST_ATTRIBUTE_NO_SANITIZE_THREAD_
|
||||||
|
# endif // __has_feature(thread_sanitizer)
|
||||||
|
#else
|
||||||
|
# define GTEST_ATTRIBUTE_NO_SANITIZE_THREAD_
|
||||||
|
#endif // __clang__
|
||||||
|
|
||||||
namespace testing {
|
namespace testing {
|
||||||
|
|
||||||
class Message;
|
class Message;
|
||||||
|
|
|
@ -59,6 +59,7 @@ using ::std::ostream;
|
||||||
// Prints a segment of bytes in the given object.
|
// Prints a segment of bytes in the given object.
|
||||||
GTEST_ATTRIBUTE_NO_SANITIZE_MEMORY_
|
GTEST_ATTRIBUTE_NO_SANITIZE_MEMORY_
|
||||||
GTEST_ATTRIBUTE_NO_SANITIZE_ADDRESS_
|
GTEST_ATTRIBUTE_NO_SANITIZE_ADDRESS_
|
||||||
|
GTEST_ATTRIBUTE_NO_SANITIZE_THREAD_
|
||||||
void PrintByteSegmentInObjectTo(const unsigned char* obj_bytes, size_t start,
|
void PrintByteSegmentInObjectTo(const unsigned char* obj_bytes, size_t start,
|
||||||
size_t count, ostream* os) {
|
size_t count, ostream* os) {
|
||||||
char text[5] = "";
|
char text[5] = "";
|
||||||
|
@ -257,6 +258,7 @@ void PrintTo(wchar_t wc, ostream* os) {
|
||||||
template <typename CharType>
|
template <typename CharType>
|
||||||
GTEST_ATTRIBUTE_NO_SANITIZE_MEMORY_
|
GTEST_ATTRIBUTE_NO_SANITIZE_MEMORY_
|
||||||
GTEST_ATTRIBUTE_NO_SANITIZE_ADDRESS_
|
GTEST_ATTRIBUTE_NO_SANITIZE_ADDRESS_
|
||||||
|
GTEST_ATTRIBUTE_NO_SANITIZE_THREAD_
|
||||||
static void PrintCharsAsStringTo(
|
static void PrintCharsAsStringTo(
|
||||||
const CharType* begin, size_t len, ostream* os) {
|
const CharType* begin, size_t len, ostream* os) {
|
||||||
const char* const kQuoteBegin = sizeof(CharType) == 1 ? "\"" : "L\"";
|
const char* const kQuoteBegin = sizeof(CharType) == 1 ? "\"" : "L\"";
|
||||||
|
@ -280,6 +282,7 @@ static void PrintCharsAsStringTo(
|
||||||
template <typename CharType>
|
template <typename CharType>
|
||||||
GTEST_ATTRIBUTE_NO_SANITIZE_MEMORY_
|
GTEST_ATTRIBUTE_NO_SANITIZE_MEMORY_
|
||||||
GTEST_ATTRIBUTE_NO_SANITIZE_ADDRESS_
|
GTEST_ATTRIBUTE_NO_SANITIZE_ADDRESS_
|
||||||
|
GTEST_ATTRIBUTE_NO_SANITIZE_THREAD_
|
||||||
static void UniversalPrintCharArray(
|
static void UniversalPrintCharArray(
|
||||||
const CharType* begin, size_t len, ostream* os) {
|
const CharType* begin, size_t len, ostream* os) {
|
||||||
// The code
|
// The code
|
||||||
|
|
Loading…
Reference in New Issue
Block a user