#include <tuple>
#include <vector>
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include "absl/base/attributes.h"
#include "absl/base/config.h"
#include "absl/base/internal/tracing.h"
#if ABSL_HAVE_ATTRIBUTE_WEAK
namespace {
ElementsAre;
ObjectKind;
enum Function { … };
Record;
thread_local std::vector<Record>* tls_records = …;
}
namespace absl {
ABSL_NAMESPACE_BEGIN
namespace base_internal {
extern "C" {
void ABSL_INTERNAL_C_SYMBOL(AbslInternalTraceWait)(const void* object,
ObjectKind kind) { … }
void ABSL_INTERNAL_C_SYMBOL(AbslInternalTraceContinue)(const void* object,
ObjectKind kind) { … }
void ABSL_INTERNAL_C_SYMBOL(AbslInternalTraceSignal)(const void* object,
ObjectKind kind) { … }
void ABSL_INTERNAL_C_SYMBOL(AbslInternalTraceObserved)(const void* object,
ObjectKind kind) { … }
}
}
ABSL_NAMESPACE_END
}
namespace {
TEST(TracingInternal, InvokesStrongFunctionWithNullptr) { … }
TEST(TracingInternal, InvokesStrongFunctionWithObjectAddress) { … }
}
#endif