26 namespace symbolizer {
39 constexpr
bool built_with_clang =
45 if (!built_with_clang) {
48 auto pos = basename.
rfind(
'/');
61 int a = *
static_cast<const int*
>(ap);
62 int b = *
static_cast<const int*
>(bp);
63 return a < b ? -1 : a > b ? 1 : 0;
79 void SetUp()
override;
100 for (
size_t i = 1;
i < 4; ++
i) {
109 for (
size_t i = 0;
i < 2; ++
i) {
117 for (
size_t i = 0;
i < 2; ++
i) {
122 TEST(SymbolizerTest, SymbolCache) {
int main(int argc, char **argv)
int RUN_ALL_TESTS() GTEST_MUST_USE_RESULT_
Dwarf::LocationInfo location
#define EXPECT_EQ(val1, val2)
void advance(size_type n)
#define ASSERT_LE(val1, val2)
—— Concurrent Priority Queue Implementation ——
FOLLY_NOINLINE void bar()
#define EXPECT_STREQ(s1, s2)
void runElfCacheTest(Symbolizer &symbolizer)
ssize_t getStackTrace(uintptr_t *addresses, size_t maxAddresses)
size_type rfind(value_type c) const
int comparator(const void *ap, const void *bp)
FrameArray< 100 > goldenFrames
SymbolizedFrame frames[N]
FrameArray< 100 > * framesToFill
void toString(std::string &dest) const
fbstring demangledName() const
static const size_type npos
GTEST_API_ void InitGoogleTest(int *argc, char **argv)
TEST_F(ElfCacheTest, TinyElfCache)
void symbolize(const uintptr_t *addresses, SymbolizedFrame *frames, size_t frameCount)
#define ASSERT_TRUE(condition)